/**
  * Listens to "outline.example.after" event.
  *
  * @param OutlineExampleEvent $event
  */
 public function afterOutlineExample(OutlineExampleEvent $event)
 {
     $outline = $event->getOutline();
     $examples = $outline->getExamples();
     $lines = $examples->getRowLines();
     $this->writeln($outline->getFile() . ':' . $lines[$event->getIteration() + 1]);
 }
예제 #2
0
 /**
  * Return recorded events
  *
  * @return array
  */
 public function getEvents()
 {
     $events = $this->getEventRecorder()->rip();
     foreach ($events as $key => $eventTurple) {
         list($name, $event) = $eventTurple;
         if ($event instanceof StepEvent) {
             $event = new StepEvent($event->getStep(), $event->getLogicalParent(), new NullContext(), $event->getResult(), null, $event->getException() ? new WorkerException($event->getException()->getMessage()) : null, $event->getSnippet());
         }
         if ($event instanceof OutlineExampleEvent) {
             $event = new OutlineExampleEvent($event->getOutline(), $event->getIteration(), new NullContext(), $event->getResult(), $event->isSkipped());
         }
         if ($event instanceof ScenarioEvent) {
             $event = new ScenarioEvent($event->getScenario(), new NullContext(), $event->getResult(), $event->isSkipped());
         }
         $event->setDispatcher(new NullEventDispatcher());
         $events[$key] = array($name, $event);
     }
     return $events;
 }
예제 #3
0
 /**
  * Listens to "outline.example.after" event.
  *
  * @param OutlineExampleEvent $event
  *
  * @uses printOutlineExampleFooter()
  */
 public function afterOutlineExample(OutlineExampleEvent $event)
 {
     $this->inOutlineExample = false;
     $this->printOutlineExampleFooter($event->getOutline(), $event->getIteration(), $event->getResult(), $event->isSkipped());
 }
예제 #4
0
 /**
  * @param ScenarioEvent|OutlineExampleEvent $event
  */
 public function beforeScenario($event)
 {
     if (!$this->enabled) {
         return;
     }
     if ($event instanceof ScenarioEvent) {
         $this->currentScenarioTitle = $event->getScenario()->getTitle();
         $this->currentFeatureTitle = $event->getScenario()->getFeature()->getTitle();
     } elseif ($event instanceof OutlineExampleEvent) {
         $this->currentScenarioTitle = $event->getOutline()->getTitle();
         $this->currentFeatureTitle = $event->getOutline()->getFeature()->getTitle();
     } else {
         throw new \InvalidArgumentException();
     }
     $this->currentReport = array('feature' => $this->currentFeatureTitle, 'scenario' => $this->currentScenarioTitle, 'steps' => array());
 }