ConsoleOutput.php 906 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace Tools\TestSuite;
  3. use Cake\Console\ConsoleOutput as CakeConsoleOutput;
  4. use Tools\TestSuite\Traits\ToolsTestTrait;
  5. /**
  6. * Use for testing as
  7. *
  8. * use Tools\TestSuite\ConsoleOutput;
  9. *
  10. * $stdOut = new ConsoleOutput();
  11. * $stdErr = new ConsoleOutput();
  12. * $io = new ConsoleIo($stdOut, $stdErr);
  13. *
  14. * @license MIT
  15. * @author Mark Scherer
  16. */
  17. class ConsoleOutput extends CakeConsoleOutput {
  18. use ToolsTestTrait;
  19. /**
  20. * Holds all output messages.
  21. *
  22. * @var array
  23. */
  24. public $output = array();
  25. /**
  26. * Overwrite _write to output the message to debug instead of CLI.
  27. *
  28. * @param string $message
  29. * @return void
  30. */
  31. protected function _write($message) {
  32. $this->debug($message);
  33. $this->output[] = $message;
  34. }
  35. /**
  36. * Helper method to return the debug output as string.
  37. *
  38. * @return string
  39. */
  40. public function output() {
  41. return implode('', $this->output);
  42. }
  43. }