public static function earlyInitialize()
 {
     $classLoader = new UniversalClassLoader();
     $classLoader->registerNamespace('Stagehand\\TestRunner', array(__DIR__ . '/../../..', __DIR__ . '/../../../../examples'));
     $classLoader->registerPrefix('Stagehand_TestRunner_', __DIR__ . '/../../../../examples');
     $classLoader->register();
     self::$applicationContext = new TestApplicationContext();
     self::$applicationContext->setComponentFactory(new TestComponentFactory());
     self::$applicationContext->setEnvironment(new self());
     self::$applicationContext->setPlugin(PluginRepository::findByPluginID(PHPUnitPlugin::getPluginID()));
     ApplicationContext::setInstance(self::$applicationContext);
     $container = new Container();
     $transformation = new Transformation($container);
     $transformation->transformToContainerParameters();
     ApplicationContext::getInstance()->getComponentFactory()->setContainer($container);
 }
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     if (!class_exists(Compiler::COMPILED_CONTAINER_NAMESPACE . '\\PHPUnitContainer')) {
         $output->writeln('<error>Please run the following command before running the ' . $this->getName() . ' command:</error>' . PHP_EOL . PHP_EOL . '  <info>testrunner compile</info>');
         return 1;
     }
     $container = $this->createContainer();
     ApplicationContext::getInstance()->getComponentFactory()->setContainer($container);
     ApplicationContext::getInstance()->setComponent('environment', ApplicationContext::getInstance()->getEnvironment());
     ApplicationContext::getInstance()->setComponent('input', $input);
     ApplicationContext::getInstance()->setComponent('output', $output);
     ApplicationContext::getInstance()->setComponent('plugin', PluginRepository::findByPluginID(PHPUnitPlugin::getPluginID()));
     ApplicationContext::getInstance()->createComponent('preparer')->prepare();
     $collector = ApplicationContext::getInstance()->createComponent('collector');
     $collector->setRecursive(true);
     define('PHPUnit_MAIN_METHOD', __METHOD__);
     $command = new \Stagehand\TestRunner\CLI\TestRunnerApplication\Command\PHPUnitPassthroughCommand\Command($collector, ApplicationContext::getInstance()->createComponent('test_target_repository'));
     if ($input->getOption('phpunit-help')) {
         return $command->run(array_merge($this->removeTestRunnerArguments($_SERVER['argv'], array('--phpunit-help')), array('--help')), false);
     }
     return $command->run($this->removeTestRunnerArguments($_SERVER['argv']), false);
 }
 protected function getPlugin()
 {
     return PluginRepository::findByPluginID(CakePHPPlugin::getPluginID());
 }
 protected function getPlugin()
 {
     return PluginRepository::findByPluginID(SimpleTestPlugin::getPluginID());
 }
 public function transformToContainerParameters()
 {
     if (!is_null($this->configurationFile)) {
         foreach (Yaml::parse($this->configurationFile) as $configurationID => $configurationPart) {
             if (!is_null($configurationPart)) {
                 if (!array_key_exists($configurationID, $this->configuration)) {
                     $this->configuration[$configurationID] = array();
                 }
                 array_unshift($this->configuration[$configurationID], $configurationPart);
             }
         }
     }
     foreach ($this->configuration as $configurationID => $configurationParts) {
         $configurations = array();
         foreach ($configurationParts as $configurationPart) {
             $configurations[] = $configurationPart;
         }
         if ($configurationID == GeneralConfiguration::getConfigurationID()) {
             $transformerID = 'General';
         } else {
             $plugin = PluginRepository::findByPluginID($configurationID);
             $transformerID = $plugin->getPluginID();
         }
         $transformerClass = __NAMESPACE__ . '\\' . $transformerID . 'Transformer';
         $transformer = new $transformerClass($configurations, $this->container);
         /* @var $transformer \Stagehand\TestRunner\DependencyInjection\Transformation\Transformer */
         $transformer->transform();
     }
     if (is_null($this->container->getParameter('test_file_pattern'))) {
         $this->container->setParameter('test_file_pattern', ApplicationContext::getInstance()->getPlugin()->getTestFilePattern());
     }
 }
Example #6
0
 /**
  * @return \Stagehand\TestRunner\Core\Plugin\Plugin
  */
 protected function getPlugin()
 {
     return PluginRepository::findByPluginID($this->getPluginID());
 }