예제 #1
0
 public function testRenderExceptionWithDoubleWidthCharacters()
 {
     $application = $this->getMock('Symfony\\Component\\Console\\Application', array('getTerminalWidth'));
     $application->setAutoExit(false);
     $application->expects($this->any())->method('getTerminalWidth')->will($this->returnValue(120));
     $application->register('foo')->setCode(function () {
         throw new \Exception('エラーメッセージ');
     });
     $tester = new ApplicationTester($application);
     $tester->run(array('command' => 'foo'), array('decorated' => false, 'capture_stderr_separately' => true));
     $this->assertStringEqualsFile(self::$fixturesPath . '/application_renderexception_doublewidth1.txt', $tester->getErrorOutput(true), '->renderException() renders a pretty exceptions with previous exceptions');
     $tester->run(array('command' => 'foo'), array('decorated' => true, 'capture_stderr_separately' => true));
     $this->assertStringEqualsFile(self::$fixturesPath . '/application_renderexception_doublewidth1decorated.txt', $tester->getErrorOutput(true), '->renderException() renders a pretty exceptions with previous exceptions');
     $application = $this->getMock('Symfony\\Component\\Console\\Application', array('getTerminalWidth'));
     $application->setAutoExit(false);
     $application->expects($this->any())->method('getTerminalWidth')->will($this->returnValue(32));
     $application->register('foo')->setCode(function () {
         throw new \Exception('コマンドの実行中にエラーが発生しました。');
     });
     $tester = new ApplicationTester($application);
     $tester->run(array('command' => 'foo'), array('decorated' => false, 'capture_stderr_separately' => true));
     $this->assertStringEqualsFile(self::$fixturesPath . '/application_renderexception_doublewidth2.txt', $tester->getErrorOutput(true), '->renderException() wraps messages when they are bigger than the terminal');
 }
예제 #2
0
 public function testRenderExceptionWithDoubleWidthCharacters()
 {
     $application = new Application();
     $application->setAutoExit(false);
     putenv('COLUMNS=120');
     $application->register('foo')->setCode(function () {
         throw new \Exception('エラーメッセージ');
     });
     $tester = new ApplicationTester($application);
     $tester->run(array('command' => 'foo'), array('decorated' => false, 'capture_stderr_separately' => true));
     $this->assertStringEqualsFile(self::$fixturesPath . '/application_renderexception_doublewidth1.txt', $tester->getErrorOutput(true), '->renderException() renders a pretty exceptions with previous exceptions');
     $tester->run(array('command' => 'foo'), array('decorated' => true, 'capture_stderr_separately' => true));
     $this->assertStringEqualsFile(self::$fixturesPath . '/application_renderexception_doublewidth1decorated.txt', $tester->getErrorOutput(true), '->renderException() renders a pretty exceptions with previous exceptions');
     $application = new Application();
     $application->setAutoExit(false);
     putenv('COLUMNS=32');
     $application->register('foo')->setCode(function () {
         throw new \Exception('コマンドの実行中にエラーが発生しました。');
     });
     $tester = new ApplicationTester($application);
     $tester->run(array('command' => 'foo'), array('decorated' => false, 'capture_stderr_separately' => true));
     $this->assertStringEqualsFile(self::$fixturesPath . '/application_renderexception_doublewidth2.txt', $tester->getErrorOutput(true), '->renderException() wraps messages when they are bigger than the terminal');
     putenv('COLUMNS=120');
 }