/** * 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]); }
/** * 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; }
/** * 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()); }
/** * @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()); }