/** * @param ScenarioInterface $scenario * * @return string|void */ private function getSteps(ScenarioInterface $scenario) { if (!$scenario->hasSteps()) { return; } $step = new Step($this->align); return $step->format($scenario->getSteps()) . "\n"; }
private function getSteps(ScenarioInterface $scenario) { if (!$scenario->hasSteps()) { return; } $recue = self::INDENTATION * 2; // TODO: abstract scenario formatter logic $longDesc = ''; foreach ($scenario->getSteps() as $step) { $indentSpaces = $recue - strlen(trim($step->getKeyword())) + 1; $longDesc .= str_repeat(' ', $indentSpaces + self::INDENTATION) . trim($step->getKeyword()) . ' ' . trim($step->getText()) . PHP_EOL; if ($step->hasArguments()) { /* @var $argument TableNode */ foreach ($step->getArguments() as $argument) { if ($argument->getNodeType() === 'Table') { $longDesc .= implode('', array_map(function ($arguments) use($recue) { return str_repeat(' ', $recue + 4) . trim($arguments) . PHP_EOL; }, explode("\n", $argument->getTableAsString()))); } } } } return $longDesc . PHP_EOL; }