/** * Print string to console on `behat.output.write` event. * * @param Event $event event */ public function write(Event $event) { $ending = $event->getParameter('newline') ? "\n" : ''; if (!empty($this->outputPath)) { if ($event->hasParameter('file')) { if (!is_dir($dir = $this->outputPath)) { throw new \InvalidArgumentException(sprintf('Directory path expected as --out, but %s given', $dir)); } file_put_contents($dir . '/' . $event->getParameter('file'), $event->getParameter('string') . $ending); } else { file_put_contents($this->outputPath, $event->getParameter('string') . $ending, \FILE_APPEND); } } else { if ($event->hasParameter('file')) { throw new \InvalidArgumentException(sprintf('You *must* specify --out DIR for the %s formatter', $this->formatter)); } $this->output->write($event->getParameter('string'), $event->getParameter('newline'), 1); } }