/** * Verifies that Controller does not modify data when passed an array (or RecordSet) with a single element * * @return void */ public function testRenderWithDataSingleIndexedArray() { $request = new Request(); $request->params['controller'] = 'lithium\tests\mocks\action\MockPostsController'; $controller = new MockPostsController(compact('request') + array('classes' => array( 'media' => 'lithium\tests\mocks\action\MockMediaClass' ))); $expected = array(array('id' => 1)); $controller->render(array('data' => $expected)); $this->assertEqual($expected, $controller->response->data); }
/** * Tests that the library of the controller is automatically added to the default rendering * options. */ public function testLibraryScoping() { $request = new Request(); $request->params['controller'] = 'lithium\\tests\\mocks\\action\\MockPostsController'; $controller = new MockPostsController(compact('request') + array('classes' => array('media' => 'lithium\\tests\\mocks\\action\\MockMediaClass'))); $controller->render(); $this->assertEqual('lithium', $controller->response->options['library']); }
/** * Verifies that data array is passed on to controller's response. * * @return void */ public function testRenderWithDataArray() { $request = new Request(); $request->params['controller'] = 'lithium\\tests\\mocks\\action\\MockPostsController'; $controller = new MockPostsController(compact('request') + array('classes' => array('media' => 'lithium\\tests\\mocks\\action\\MockMediaClass'))); $controller->set(array('set' => 'data')); $controller->render(array('data' => array('render' => 'data'))); $expected = array('set' => 'data', 'render' => 'data'); $this->assertEqual($expected, $controller->response->data); }
/** * Tests that requests where the controller class is specified manually continue to route to * the correct template path. * * @return void */ public function testRenderWithNamespacedController() { $request = new Request(); $request->params['controller'] = 'lithium\\tests\\mocks\\action\\MockPostsController'; $controller = new MockPostsController(compact('request') + array('classes' => array('media' => '\\lithium\\tests\\mocks\\action\\MockMediaClass'))); $controller->render(); $this->assertEqual('mock_posts', $controller->response->options['controller']); }