public function DebugHandlersListenerTest::testConsoleEvent in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/http-kernel/Tests/EventListener/DebugHandlersListenerTest.php \Symfony\Component\HttpKernel\Tests\EventListener\DebugHandlersListenerTest::testConsoleEvent()
File
- vendor/
symfony/ http-kernel/ Tests/ EventListener/ DebugHandlersListenerTest.php, line 65
Class
- DebugHandlersListenerTest
- DebugHandlersListenerTest.
Namespace
Symfony\Component\HttpKernel\Tests\EventListenerCode
public function testConsoleEvent() {
$dispatcher = new EventDispatcher();
$listener = new DebugHandlersListener(null);
$app = $this
->getMock('Symfony\\Component\\Console\\Application');
$app
->expects($this
->once())
->method('getHelperSet')
->will($this
->returnValue(new HelperSet()));
$command = new Command(__FUNCTION__);
$command
->setApplication($app);
$event = new ConsoleEvent($command, new ArgvInput(), new ConsoleOutput());
$dispatcher
->addSubscriber($listener);
$xListeners = array(
KernelEvents::REQUEST => array(
array(
$listener,
'configure',
),
),
ConsoleEvents::COMMAND => array(
array(
$listener,
'configure',
),
),
);
$this
->assertSame($xListeners, $dispatcher
->getListeners());
$exception = null;
$eHandler = new ErrorHandler();
set_error_handler(array(
$eHandler,
'handleError',
));
set_exception_handler(array(
$eHandler,
'handleException',
));
try {
$dispatcher
->dispatch(ConsoleEvents::COMMAND, $event);
} catch (\Exception $exception) {
}
restore_exception_handler();
restore_error_handler();
if (null !== $exception) {
throw $exception;
}
$xHandler = $eHandler
->setExceptionHandler('var_dump');
$this
->assertInstanceOf('Closure', $xHandler);
$app
->expects($this
->once())
->method('renderException');
$xHandler(new \Exception());
}