LimeOutputProxy.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. /*
  3. * This file is part of the Lime framework.
  4. *
  5. * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
  6. * (c) Bernhard Schussek <bernhard.schussek@symfony-project.com>
  7. *
  8. * This source file is subject to the MIT license that is bundled
  9. * with this source code in the file LICENSE.
  10. */
  11. class LimeOutputProxy implements LimeOutputInterface
  12. {
  13. private
  14. $output = null,
  15. $result = null;
  16. public function __construct(LimeOutputInterface $output = null)
  17. {
  18. $this->output = is_null($output) ? new LimeOutputNone() : $output;
  19. $this->result = new LimeOutputResult();
  20. }
  21. public function supportsThreading()
  22. {
  23. return $this->output->supportsThreading();
  24. }
  25. public function getResult()
  26. {
  27. return $this->result;
  28. }
  29. /**
  30. * For BC with lime_harness.
  31. *
  32. * @deprecated
  33. * @return array
  34. */
  35. public function getFailedFiles()
  36. {
  37. return $this->failedFiles;
  38. }
  39. public function focus($file)
  40. {
  41. $this->output->focus($file);
  42. }
  43. public function close()
  44. {
  45. $this->output->close();
  46. }
  47. public function plan($amount)
  48. {
  49. $this->result->addPlan($amount);
  50. $this->output->plan($amount);
  51. }
  52. public function pass($message, $file, $line)
  53. {
  54. $this->result->addPassed();
  55. $this->output->pass($message, $file, $line);
  56. }
  57. public function fail($message, $file, $line, $error = null)
  58. {
  59. $this->result->addFailure(array($message, $file, $line, $error));
  60. $this->failedFiles[] = $file;
  61. $this->output->fail($message, $file, $line, $error);
  62. }
  63. public function skip($message, $file, $line)
  64. {
  65. $this->result->addSkipped();
  66. $this->output->skip($message, $file, $line);
  67. }
  68. public function todo($message, $file, $line)
  69. {
  70. $this->result->addTodo($message);
  71. $this->output->todo($message, $file, $line);
  72. }
  73. public function warning($message, $file, $line)
  74. {
  75. $this->result->addWarning(array($message, $file, $line));
  76. $this->failedFiles[] = $file;
  77. $this->output->warning($message, $file, $line);
  78. }
  79. public function error(LimeError $error)
  80. {
  81. $this->result->addError($error);
  82. $this->failedFiles[] = $error->getFile();
  83. $this->output->error($error);
  84. }
  85. public function comment($message)
  86. {
  87. $this->output->comment($message);
  88. }
  89. public function flush()
  90. {
  91. $this->output->flush();
  92. }
  93. }