public function testNormalExceptionRenderingQueryLog()
{
$Exception = new Exception('Hello World');
$QueryLogger = $this->getMockBuilder('Crud\\Log\\QueryLogger')->setMethods(['getLogs'])->getMock();
$currentLogger = ConnectionManager::get('test')->logger();
ConnectionManager::get('test')->logger($QueryLogger);
$QueryLogger->expects($this->once())->method('getLogs')->with()->will($this->returnValue(['query']));
$Controller = $this->getMockBuilder('Cake\\Controller\\Controller')->setMethods(['render'])->getMock();
$Controller->request = new Request();
$Controller->response = new Response();
$Renderer = $this->getMockBuilder('Crud\\Error\\ExceptionRenderer')->setMethods(['_getController'])->disableOriginalConstructor()->getMock();
$Renderer->expects($this->once())->method('_getController')->with()->will($this->returnValue($Controller));
$Renderer->__construct($Exception);
$Renderer->render();
$viewVars = $Controller->viewVars;
$this->assertTrue(!empty($viewVars['_serialize']));
$expected = ['success', 'data', 'queryLog'];
$actual = $viewVars['_serialize'];
$this->assertEquals($expected, $actual);
$expected = ['code' => 500, 'url' => $Controller->request->here(), 'message' => 'Hello World', 'exception' => ['class' => 'Cake\\Core\\Exception\\Exception', 'code' => 500, 'message' => 'Hello World']];
$actual = $viewVars['data'];
$queryLog = $viewVars['queryLog'];
unset($actual['trace']);
$this->assertEquals($expected, $actual);
$this->assertTrue(!empty($queryLog));
$this->assertTrue(isset($queryLog['test']));
$this->assertEquals('query', $queryLog['test'][0]);
$this->assertTrue(isset($viewVars['success']));
$this->assertFalse($viewVars['success']);
$this->assertTrue(isset($viewVars['code']));
$this->assertSame(500, $viewVars['code']);
$this->assertTrue(isset($viewVars['url']));
$this->assertSame($Controller->request->here(), $viewVars['url']);
$this->assertTrue(isset($viewVars['message']));
$this->assertSame('Hello World', $viewVars['message']);
$this->assertTrue(isset($viewVars['error']));
$this->assertSame($Exception, $viewVars['error']);
ConnectionManager::get('test')->logger($currentLogger);
}