public function testExceptionRaisedInControllerTriggers500Event()
{
$exception = new \DomainException();
$foo = $this->app->get('/foo', function ($app) use($exception) {
throw $exception;
});
$test = (object) ['status' => false];
$this->app->events()->attach('500', function ($event) use($test) {
$test->status = true;
$test->exception = $event->getParam('exception');
});
$request = $this->app->request();
$request->setMethod('GET')->setUri('/foo');
$this->app->run();
$this->assertTrue($test->status);
$this->assertSame($exception, $test->exception);
}