public function afterStep(StepEvent $event) { parent::afterStep($event); $definition = $event->getDefinition(); if ($definition instanceof Definition) { $this->incrementMethodCall($definition->getRegex()); } }
/** * {@inheritdoc} */ protected function printSummary(LoggerDataCollector $logger) { $results = $logger->getScenariosStatuses(); $result = $results['failed'] > 0 ? 'failed' : 'passed'; $this->writeln('<div class="summary ' . $result . '">'); $this->writeln('<div class="counters">'); parent::printSummary($logger); $this->writeln('</div>'); $this->writeln(<<<'HTML' <div class="switchers"> <a href="javascript:void(0)" id="behat_show_all">[+] all</a> <a href="javascript:void(0)" id="behat_hide_all">[-] all</a> </div> HTML ); $this->writeln('</div>'); }
/** * Prints undefined steps snippets. * * @param Behat\Behat\DataCollector\LoggerDataCollector $logger suite logger */ protected function printUndefinedStepsSnippets(LoggerDataCollector $logger) { if (count($logger->getDefinitionsSnippets())) { $header = $this->translate('You can implement step definitions for undefined steps with these snippets:'); $this->writeln("\n{+undefined}{$header}{-undefined}\n"); foreach ($logger->getDefinitionsSnippets() as $key => $snippet) { $this->writeln("{+undefined}{$snippet}{-undefined}\n"); } } }
/** * Prints steps snippets. * * @param LoggerDataCollector $logger suite logger */ protected function printSnippets(LoggerDataCollector $logger) { foreach ($logger->getDefinitionsSnippets() as $snippet) { $snippetText = $snippet->getSnippet(); if ($this->getParameter('snippets_paths')) { $indent = str_pad('', mb_strlen($snippetText) - mb_strlen(ltrim($snippetText)), ' '); $this->writeln("{+undefined}{$indent}/**{-undefined}"); foreach ($snippet->getSteps() as $step) { $this->writeln(sprintf('{+undefined}%s * %s %s # %s:%d{-undefined}', $indent, $step->getType(), $step->getText(), $this->relativizePathsInString($step->getFile()), $step->getLine())); } if (false !== mb_strpos($snippetText, '/**')) { $snippetText = str_replace('/**', ' *', $snippetText); } else { $this->writeln("{+undefined}{$indent} */{-undefined}"); } } $this->writeln("{+undefined}{$snippetText}{-undefined}\n"); } }