CommandRendererTest.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Shell\Test\Unit;
  7. use Magento\Framework\Shell\CommandRenderer;
  8. class CommandRendererTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @param $expectedCommand
  12. * @param $actualCommand
  13. * @param $testArguments
  14. * @dataProvider commandsDataProvider
  15. */
  16. public function testRender($expectedCommand, $actualCommand, $testArguments)
  17. {
  18. $commandRenderer = new CommandRenderer();
  19. $this->assertEquals(
  20. $expectedCommand,
  21. $commandRenderer->render($actualCommand, $testArguments)
  22. );
  23. }
  24. /**
  25. * @return array
  26. */
  27. public function commandsDataProvider()
  28. {
  29. $testArgument = 'argument';
  30. $testArgument2 = 'argument2';
  31. $expectedCommand = "php -r %s 2>&1 | grep %s 2>&1";
  32. $expectedCommandArgs = "php -r '" . $testArgument . "' 2>&1 | grep '" . $testArgument2 . "' 2>&1";
  33. return [
  34. [$expectedCommand, 'php -r %s | grep %s', []],
  35. [$expectedCommand, 'php -r %s 2>&1 | grep %s', []],
  36. [$expectedCommand, 'php -r %s 2>&1 2>&1 | grep %s', []],
  37. [$expectedCommandArgs, 'php -r %s | grep %s', [$testArgument, $testArgument2]],
  38. [$expectedCommandArgs, 'php -r %s 2>&1 | grep %s', [$testArgument, $testArgument2]],
  39. [$expectedCommandArgs, 'php -r %s 2>&1 2>&1 | grep %s', [$testArgument, $testArgument2]],
  40. ];
  41. }
  42. }