You are here

public function ProcessFailedExceptionTest::testProcessFailedExceptionPopulatesInformationFromProcessOutput in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/process/Tests/ProcessFailedExceptionTest.php \Symfony\Component\Process\Tests\ProcessFailedExceptionTest::testProcessFailedExceptionPopulatesInformationFromProcessOutput()

tests ProcessFailedException uses information from process output to generate exception message.

File

vendor/symfony/process/Tests/ProcessFailedExceptionTest.php, line 47

Class

ProcessFailedExceptionTest
@author Sebastian Marek <proofek@gmail.com>

Namespace

Symfony\Component\Process\Tests

Code

public function testProcessFailedExceptionPopulatesInformationFromProcessOutput() {
  $cmd = 'php';
  $exitCode = 1;
  $exitText = 'General error';
  $output = 'Command output';
  $errorOutput = 'FATAL: Unexpected error';
  $process = $this
    ->getMock('Symfony\\Component\\Process\\Process', array(
    'isSuccessful',
    'getOutput',
    'getErrorOutput',
    'getExitCode',
    'getExitCodeText',
    'isOutputDisabled',
  ), array(
    $cmd,
  ));
  $process
    ->expects($this
    ->once())
    ->method('isSuccessful')
    ->will($this
    ->returnValue(false));
  $process
    ->expects($this
    ->once())
    ->method('getOutput')
    ->will($this
    ->returnValue($output));
  $process
    ->expects($this
    ->once())
    ->method('getErrorOutput')
    ->will($this
    ->returnValue($errorOutput));
  $process
    ->expects($this
    ->once())
    ->method('getExitCode')
    ->will($this
    ->returnValue($exitCode));
  $process
    ->expects($this
    ->once())
    ->method('getExitCodeText')
    ->will($this
    ->returnValue($exitText));
  $process
    ->expects($this
    ->once())
    ->method('isOutputDisabled')
    ->will($this
    ->returnValue(false));
  $exception = new ProcessFailedException($process);
  $this
    ->assertEquals("The command \"{$cmd}\" failed.\nExit Code: {$exitCode}({$exitText})\n\nOutput:\n================\n{$output}\n\nError Output:\n================\n{$errorOutput}", $exception
    ->getMessage());
}