ResponseTest.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\Framework\App\Test\Unit\Console;
  8. class ResponseTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Framework\App\Console\Response
  12. */
  13. protected $model;
  14. protected function setUp()
  15. {
  16. $this->model = new \Magento\Framework\App\Console\Response();
  17. $this->model->terminateOnSend(false);
  18. }
  19. public function testSendResponseDefaultBehaviour()
  20. {
  21. $this->assertEquals(0, $this->model->sendResponse());
  22. }
  23. /**
  24. * @dataProvider setCodeProvider
  25. */
  26. public function testSetCode($code, $expectedCode)
  27. {
  28. $this->model->setCode($code);
  29. $result = $this->model->sendResponse();
  30. $this->assertEquals($expectedCode, $result);
  31. }
  32. /**
  33. * @return array
  34. */
  35. public static function setCodeProvider()
  36. {
  37. $largeCode = 256;
  38. $lowCode = 1;
  39. $lowestCode = -255;
  40. return [[$largeCode, 255], [$lowCode, $lowCode], [$lowestCode, $lowestCode]];
  41. }
  42. public function testSetBody()
  43. {
  44. $output = 'output';
  45. $this->expectOutputString($output);
  46. $this->model->setBody($output);
  47. $this->model->sendResponse();
  48. }
  49. public function testSetBodyNoOutput()
  50. {
  51. $this->expectOutputString('');
  52. $this->model->sendResponse();
  53. }
  54. }