예제 #1
0
 public function start(GenericEvent $event)
 {
     if ($this->options['all_on_start']) {
         $results = $this->container->get('behat.inspector')->runAll();
         $event->addProcessEvent(new ProcessEvent($this, $results));
     }
 }
예제 #2
0
 public function testPrintReport()
 {
     if (file_exists($file = CodeCoverageSession::getCacheFile())) {
         unlink($file);
     }
     $options = array('enabled' => true, 'output.text' => true, 'output.html' => getcwd(), 'output.clover' => getcwd() . '/clover.xml');
     static::$container->setParameter('session.results', array('some'));
     $runner = new CodeCoverageSession();
     $runner->setOptions($options);
     $runner->setContainer(static::$container);
     $event = new ProcessEvent(static::$container->get('plugins.test'));
     $genericEvent = new GenericEvent(static::$container);
     $genericEvent->addProcessEvent($event);
     // not display coverage when results file not exists
     $runner->process($genericEvent);
     $this->assertNotDisplayContains('html output');
     $this->assertNotDisplayContains('text output');
     $this->assertNotDisplayContains('clover output');
     // display coverage when cache file exists
     Filesystem::create()->serialize($file, $runner);
     $runner->process($genericEvent);
     $this->assertDisplayContains('html output');
     $this->assertDisplayContains('text output');
     $this->assertDisplayContains('clover output');
 }
예제 #3
0
 public function start(GenericEvent $event)
 {
     if ($this->options['all_on_start']) {
         $this->logger->addDebug('Begin executing all on start');
         $event->addProcessEvent($this->runAll());
         $this->logger->addDebug('End executing all on start');
     }
 }
예제 #4
0
 function it_should_run_all_on_start_if_defined(Inspector $inspector, GenericEvent $event)
 {
     $event->addProcessEvent(Argument::any())->shouldBeCalled();
     $inspector->runAll()->shouldBeCalled()->willReturn(array());
     $options = array('all_on_start' => true);
     $this->setOptions($options);
     $this->start($event);
 }
예제 #5
0
 public function runAllCommand(GenericEvent $event)
 {
     /* @var \PhpGuard\Application\Plugin\PluginInterface $plugin */
     $this->container->setParameter('application.exit_code', 0);
     if (is_null($plugin = $event->getArgument('plugin'))) {
         $plugins = $this->container->getByPrefix('plugins');
     } else {
         $name = 'plugins.' . $plugin;
         if ($this->container->has($name)) {
             $plugin = $this->container->get('plugins.' . $plugin);
             $plugins = array($plugin);
         } else {
             throw new \RuntimeException(sprintf('Plugin "%s" is not registered', $plugin));
         }
     }
     foreach ($plugins as $plugin) {
         if (!$plugin->isActive()) {
             $this->getLogger()->addDebug(sprintf('Plugin "%s" is not active', $plugin->getTitle()));
             continue;
         } else {
             $this->getLogger()->addDebug('Start running all for plugin ' . $plugin->getTitle());
             $event->addProcessEvent($plugin->runAll());
             $this->getLogger()->addDebug('End running all for plugin ' . $plugin->getTitle());
         }
     }
 }
예제 #6
0
 function it_plugin_should_not_runAll_if_not_active(ContainerInterface $container, PluginInterface $active, PluginInterface $inactive, GenericEvent $event)
 {
     $event->getSubject()->willReturn($container);
     $event->getArgument('plugin')->willReturn(null);
     $event->addProcessEvent(Argument::any())->shouldBeCalled();
     $container->getByPrefix('plugins')->willReturn(array($active, $inactive));
     $container->has('active')->willReturn(true);
     $active->isActive()->shouldBeCalled()->willReturn(true);
     $active->runAll()->willReturn(new ProcessEvent($active->getWrappedObject(), array()));
     $active->getTitle()->willReturn('active');
     $container->has('inactive')->willReturn(true);
     $inactive->getName()->willReturn('inactive');
     $inactive->getTitle()->willReturn('Inactive');
     $inactive->isActive()->shouldBeCalled()->willReturn(false);
     $inactive->runAll(Argument::any())->shouldNotBeCalled();
     $this->runAllCommand($event);
 }