/** * 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)); } }
/** * 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); } }
/** * 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(); }
/** * 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(); } }