/** * Listens to "step.after" event. * * @param StepEvent $event * * @uses printStep() */ public function afterStep(StepEvent $event) { if ($this->inBackground && $this->isBackgroundPrinted) { return; } if ($this->isStepChainParent($event->getStep())) { $isStepChainParent = true; $this->inChain = false; } if (!$this->inBackground && $this->inOutlineExample) { $this->delayedStepEvents[] = $event; return; } if ($this->inChain) { $this->chainedSteps[] = $event; return; } $this->printStep($event->getStep(), $event->getResult(), $event->getDefinition(), $event->getSnippet(), $event->getException()); if (isset($this->chainedSteps) && count($this->chainedSteps) && isset($isStepChainParent) && $isStepChainParent) { foreach ($this->chainedSteps as $event) { $this->write($this->indent); $this->printStep($event->getStep(), $event->getResult(), $event->getDefinition(), $event->getSnippet(), $event->getException()); } $this->chainedSteps = []; } }
/** * 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 "step.after" event. * * @param StepEvent $event * * @uses printStep() */ public function afterStep(StepEvent $event) { if ($this->inBackground && $this->isBackgroundPrinted) { return; } if (!$this->inBackground && $this->inOutlineExample) { $this->delayedStepEvents[] = $event; return; } $this->printStep($event->getStep(), $event->getResult(), $event->getDefinition(), $event->getSnippet(), $event->getException()); }
/** * Collects step statistics. * * @param Behat\Behat\Event\StepEvent $event step.after event */ private function collectStepStats(StepEvent $event) { ++$this->stepsCount; ++$this->stepsStatuses[$this->statuses[$event->getResult()]]; switch ($event->getResult()) { case StepEvent::UNDEFINED: $hash = $event->getSnippet()->getHash(); if (!isset($this->definitionsSnippets[$hash])) { $this->definitionsSnippets[$hash] = $event->getSnippet(); } else { $this->definitionsSnippets[$hash]->addStep($event->getSnippet()->getLastStep()); } break; case StepEvent::FAILED: $this->failedStepsEvents[] = $event; break; case StepEvent::PENDING: $this->pendingStepsEvents[] = $event; break; } }
/** * Listens to "step.after" event. * * @param Behat\Behat\Event\StepEvent $event * * @uses printStep() */ public function afterStep(StepEvent $event) { $this->printStep($event->getStep(), $event->getResult(), $event->getDefinition(), $event->getSnippet(), $event->getException()); }
/** * Collects step statistics. * * @param Behat\Behat\Event\StepEvent $event step.after event */ protected function collectStepStats(StepEvent $event) { ++$this->stepsCount; ++$this->stepsStatuses[$this->statuses[$event->getResult()]]; switch ($event->getResult()) { case StepEvent::UNDEFINED: foreach ($event->getSnippet() as $key => $snippet) { if (!isset($this->definitionsSnippets[$key])) { $this->definitionsSnippets[$key] = $snippet; } } break; case StepEvent::FAILED: $this->failedStepsEvents[] = $event; break; case StepEvent::PENDING: $this->pendingStepsEvents[] = $event; break; } }