public function ApplicationTest::testRenderExceptionWithDoubleWidthCharacters in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/console/Tests/ApplicationTest.php \Symfony\Component\Console\Tests\ApplicationTest::testRenderExceptionWithDoubleWidthCharacters()
File
- vendor/
symfony/ console/ Tests/ ApplicationTest.php, line 554
Class
Namespace
Symfony\Component\Console\TestsCode
public function testRenderExceptionWithDoubleWidthCharacters() {
if (!function_exists('mb_strwidth')) {
$this
->markTestSkipped('The "mb_strwidth" function is not available');
}
$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,
));
$this
->assertStringEqualsFile(self::$fixturesPath . '/application_renderexception_doublewidth1.txt', $tester
->getDisplay(true), '->renderException() renders a pretty exceptions with previous exceptions');
$tester
->run(array(
'command' => 'foo',
), array(
'decorated' => true,
));
$this
->assertStringEqualsFile(self::$fixturesPath . '/application_renderexception_doublewidth1decorated.txt', $tester
->getDisplay(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,
));
$this
->assertStringEqualsFile(self::$fixturesPath . '/application_renderexception_doublewidth2.txt', $tester
->getDisplay(true), '->renderException() wraps messages when they are bigger than the terminal');
}