ConsoleLoggerTest.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Setup\Test\Unit;
  7. use Magento\Framework\Setup\ConsoleLogger;
  8. class ConsoleLoggerTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \PHPUnit_Framework_MockObject_MockObject|\Symfony\Component\Console\Output\OutputInterface
  12. */
  13. private $console;
  14. /**
  15. * @var \PHPUnit_Framework_MockObject_MockObject|ConsoleLogger
  16. */
  17. private $consoleLoggerModel;
  18. protected function setUp()
  19. {
  20. $this->console = $this->createMock(\Symfony\Component\Console\Output\OutputInterface::class);
  21. $outputFormatter = $this->createMock(\Symfony\Component\Console\Formatter\OutputFormatterInterface::class);
  22. $this->console
  23. ->expects($this->once())
  24. ->method('getFormatter')
  25. ->willReturn($outputFormatter);
  26. $this->consoleLoggerModel = new ConsoleLogger($this->console);
  27. }
  28. public function testLogSuccess()
  29. {
  30. $this->console
  31. ->expects($this->once())
  32. ->method('writeln')
  33. ->with('<info>[SUCCESS]: Success message.</info>');
  34. $this->consoleLoggerModel->logSuccess('Success message.');
  35. }
  36. public function testLogError()
  37. {
  38. $exception = $this->createMock(\Exception::class);
  39. $this->console
  40. ->expects($this->once())
  41. ->method('writeln')
  42. ->with('<error>[ERROR]: </error>');
  43. $this->consoleLoggerModel->logError($exception);
  44. }
  45. public function testLog()
  46. {
  47. $this->console
  48. ->expects($this->once())
  49. ->method('writeln')
  50. ->with('<detail>Detail message.</detail>');
  51. $this->consoleLoggerModel->log('Detail message.');
  52. }
  53. public function testLogInline()
  54. {
  55. $this->console
  56. ->expects($this->once())
  57. ->method('write')
  58. ->with('<detail>Detail message.</detail>');
  59. $this->consoleLoggerModel->logInline('Detail message.');
  60. }
  61. public function testLogMeta()
  62. {
  63. $this->console
  64. ->expects($this->once())
  65. ->method('writeln')
  66. ->with('<metadata>Meta message.</metadata>');
  67. $this->consoleLoggerModel->logMeta('Meta message.');
  68. }
  69. }