/**
  * 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;
 }
Exemple #3
0
 /**
  * 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());
 }
Exemple #4
0
 /**
  * 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;
     }
 }