Example #1
0
 /**
  * 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);
     }
 }