/** * Captures scenario into the ivar on scenario/background/example BEFORE event. * * @param Event $event */ private function captureScenarioOnScenarioEvent(Event $event) { if (!$event instanceof ScenarioLikeTested) { return; } $this->scenario = $event->getScenario(); }
/** * Prints example header on example BEFORE event. * * @param Formatter $formatter * @param Event $event */ private function printExampleHeaderOnBeforeExampleEvent(Formatter $formatter, Event $event) { if (!$event instanceof AfterScenarioSetup) { return; } $this->example = $event->getScenario(); $this->exampleSetupPrinter->printSetup($formatter, $event->getSetup()); $this->examplePrinter->printHeader($formatter, $event->getFeature(), $this->example); }
/** * Prints example row on example AFTER event. * * @param Formatter $formatter * @param Event $event * @param string $eventName */ private function printExampleRowOnAfterExampleEvent(Formatter $formatter, Event $event, $eventName) { if (!$event instanceof AfterScenarioTested || ExampleTested::AFTER !== $eventName) { return; } $example = $event->getScenario(); $this->exampleSetupPrinter->printSetup($formatter, $this->exampleSetup); foreach ($this->stepBeforeTestedEvents as $beforeEvent) { $this->stepSetupPrinter->printSetup($formatter, $beforeEvent->getSetup()); } $this->exampleRowPrinter->printExampleRow($formatter, $this->outline, $example, $this->stepAfterTestedEvents); foreach ($this->stepAfterTestedEvents as $afterEvent) { $this->stepSetupPrinter->printTeardown($formatter, $afterEvent->getTeardown()); } $this->exampleSetupPrinter->printTeardown($formatter, $event->getTeardown()); $this->exampleSetup = null; $this->stepBeforeTestedEvents = array(); $this->stepAfterTestedEvents = array(); }
/** * Captures current scenario title and path on scenario BEFORE event. * * @param Event $event */ private function captureScenarioOnBeforeFeatureEvent(Event $event) { if (!$event instanceof BeforeScenarioTested) { return; } $this->scenarioTitle = sprintf('%s: %s', $event->getScenario()->getKeyword(), $event->getScenario()->getTitle()); $this->scenarioPath = sprintf('%s:%s', $this->currentFeaturePath, $event->getScenario()->getLine()); }
/** * Captures scenario or example stats on their AFTER event. * * @param Event $event */ private function captureScenarioOrExampleStatsOnAfterEvent(Event $event) { if (!$event instanceof AfterScenarioTested) { return; } $scenario = $event->getScenario(); $title = $scenario->getTitle(); $path = sprintf('%s:%d', $this->currentFeaturePath, $scenario->getLine()); $resultCode = $event->getTestResult()->getResultCode(); $stat = new ScenarioStat($title, $path, $resultCode); $this->statistics->registerScenarioStat($stat); }