Ajax = new AjaxView(); App::build(array( 'View' => array(CakePlugin::path('Tools') . 'Test' . DS . 'test_app' . DS . 'View' . DS) ), App::RESET); } /** * AjaxViewTest::testSerialize() * * @return void */ public function testSerialize() { $Request = new CakeRequest(); $Response = new CakeResponse(); $Controller = new Controller($Request, $Response); $items = array( array('title' => 'Title One', 'link' => 'http://example.org/one', 'author' => 'one@example.org', 'description' => 'Content one'), array('title' => 'Title Two', 'link' => 'http://example.org/two', 'author' => 'two@example.org', 'description' => 'Content two'), ); $Controller->set(array('items' => $items, '_serialize' => array('items'))); $View = new AjaxView($Controller); $result = $View->render(false); $this->assertSame('application/json', $Response->type()); $expected = array('error' => null, 'content' => null, 'items' => $items); $expected = json_encode($expected); $this->assertTextEquals($expected, $result); } /** * AjaxViewTest::testSerialize() * * @return void */ public function testRenderWithSerialize() { $Request = new CakeRequest(); $Response = new CakeResponse(); $Controller = new Controller($Request, $Response); $items = array( array('title' => 'Title One', 'link' => 'http://example.org/one', 'author' => 'one@example.org', 'description' => 'Content one'), array('title' => 'Title Two', 'link' => 'http://example.org/two', 'author' => 'two@example.org', 'description' => 'Content two'), ); $Controller->set(array('items' => $items, '_serialize' => 'items')); $View = new AjaxView($Controller); $View->viewPath = 'Items'; $result = $View->render('index'); $this->assertSame('application/json', $Response->type()); $expected = array('error' => null, 'content' => 'My Index Test ctp', 'items' => $items); $expected = json_encode($expected); $this->assertTextEquals($expected, $result); } /** * AjaxViewTest::testError() * * @return void */ public function testError() { $Request = new CakeRequest(); $Response = new CakeResponse(); $Controller = new Controller($Request, $Response); $items = array( array('title' => 'Title One', 'link' => 'http://example.org/one', 'author' => 'one@example.org', 'description' => 'Content one'), array('title' => 'Title Two', 'link' => 'http://example.org/two', 'author' => 'two@example.org', 'description' => 'Content two'), ); $Controller->set(array('error' => 'Some message', 'items' => $items, '_serialize' => array('error', 'items'))); $View = new AjaxView($Controller); $View->viewPath = 'Items'; $result = $View->render('index'); $this->assertSame('application/json', $Response->type()); $expected = array('error' => 'Some message', 'content' => null, 'items' => $items); $expected = json_encode($expected); $this->assertTextEquals($expected, $result); } /** * AjaxViewTest::testWithoutSubdir() * * @return void */ public function testWithoutSubdir() { $Request = new CakeRequest(); $Response = new CakeResponse(); $Controller = new Controller($Request, $Response); $View = new AjaxView($Controller); $View->viewPath = 'Items'; $View->subDir = false; $result = $View->render('index'); $this->assertSame('application/json', $Response->type()); $expected = array('error' => null, 'content' => 'My Index Test ctp'); $expected = json_encode($expected); $this->assertTextEquals($expected, $result); } }