/**
  * Creates wrapper-closure for the example header.
  *
  * @return callable
  */
 private function getWrapperClosure()
 {
     $style = $this->resultConverter->convertResultCodeToString(TestResult::SKIPPED);
     return function ($col) use($style) {
         return sprintf('{+%s_param}%s{-%s_param}', $style, $col, $style);
     };
 }
 /**
  * Prints step multiline arguments.
  *
  * @param Formatter           $formatter
  * @param ArgumentInterface[] $arguments
  */
 private function printArguments(Formatter $formatter, array $arguments)
 {
     $style = $this->resultConverter->convertResultCodeToString(TestResult::SKIPPED);
     foreach ($arguments as $argument) {
         $text = $this->getArgumentString($argument, !$formatter->getParameter('multiline'));
         $indentedText = implode("\n", array_map(array($this, 'subIndent'), explode("\n", $text)));
         $formatter->getOutputPrinter()->writeln(sprintf('{+%s}%s{-%s}', $style, $indentedText, $style));
     }
 }
Beispiel #3
0
 /**
  * Prints failed hooks list.
  *
  * @param OutputPrinter $printer
  * @param string        $intro
  * @param HookStat[]    $failedHookStats
  */
 public function printFailedHooksList(OutputPrinter $printer, $intro, array $failedHookStats)
 {
     if (!count($failedHookStats)) {
         return;
     }
     $style = $this->resultConverter->convertResultCodeToString(TestResult::FAILED);
     $intro = $this->translator->trans($intro, array(), 'output');
     $printer->writeln(sprintf('--- {+%s}%s{-%s}' . PHP_EOL, $style, $intro, $style));
     foreach ($failedHookStats as $hookStat) {
         $this->printHookStat($printer, $hookStat, $style);
     }
 }
Beispiel #4
0
 /**
  * Prints scenario and step counters.
  *
  * @param OutputPrinter $printer
  * @param string        $intro
  * @param array         $stats
  */
 public function printCounters(OutputPrinter $printer, $intro, array $stats)
 {
     $stats = array_filter($stats, function ($count) {
         return 0 !== $count;
     });
     if (0 === count($stats)) {
         $totalCount = 0;
     } else {
         $totalCount = array_sum($stats);
     }
     $detailedStats = array();
     foreach ($stats as $resultCode => $count) {
         $style = $this->resultConverter->convertResultCodeToString($resultCode);
         $transId = $style . '_count';
         $message = $this->translator->transChoice($transId, $count, array('%1%' => $count), 'output');
         $detailedStats[] = sprintf('{+%s}%s{-%s}', $style, $message, $style);
     }
     $message = $this->translator->transChoice($intro, $totalCount, array('%1%' => $totalCount), 'output');
     $printer->write($message);
     if (count($detailedStats)) {
         $printer->write(sprintf(' (%s)', implode(', ', $detailedStats)));
     }
     $printer->writeln();
 }
Beispiel #5
0
 /**
  * Prints failed hooks list.
  *
  * @param OutputPrinter $printer
  * @param string        $intro
  * @param HookStat[]    $failedHookStats
  */
 public function printFailedHooksList(OutputPrinter $printer, $intro, array $failedHookStats)
 {
     if (!count($failedHookStats)) {
         return;
     }
     $style = $this->resultConverter->convertResultCodeToString(TestResult::FAILED);
     $intro = $this->translator->trans($intro, array(), 'output');
     $printer->writeln(sprintf('--- {+%s}%s{-%s}' . PHP_EOL, $style, $intro, $style));
     foreach ($failedHookStats as $hookStat) {
         $name = $hookStat->getName();
         $path = $hookStat->getPath();
         $stdOut = $hookStat->getStdOut();
         $error = $hookStat->getError();
         $this->printStat($printer, $name, $path, $style, $stdOut, $error);
     }
 }
 /**
  * Prints teardown hook call result.
  *
  * @param OutputPrinter $printer
  * @param CallResult    $callResult
  */
 private function printTeardownHookCallResult(OutputPrinter $printer, CallResult $callResult)
 {
     if (!$callResult->hasStdOut() && !$callResult->hasException()) {
         return;
     }
     $resultCode = $callResult->hasException() ? TestResult::FAILED : TestResult::PASSED;
     $style = $this->resultConverter->convertResultCodeToString($resultCode);
     $hook = $callResult->getCall()->getCallee();
     $path = $hook->getPath();
     $printer->writeln(sprintf('%s│', $this->indentText));
     $this->printHookCallStdOut($printer, $callResult, $this->indentText);
     $this->printHookCallException($printer, $callResult, $this->indentText);
     $printer->writeln(sprintf('%s└─ {+%s}@%s{-%s} {+comment}# %s{-comment}', $this->indentText, $style, $hook, $style, $path));
     if ($this->newlineAfter) {
         $printer->writeln();
     }
 }