/** * test that cached() registers a view and un-registers it. Tests * that helpers using ClassRegistry::getObject('view'); don't fail * * @return void */ function testCachedRegisteringViewObject() { Configure::write('Cache.disable', false); Configure::write('Cache.check', true); Configure::write('debug', 2); $_POST = array(); $_SERVER['PHP_SELF'] = '/'; Router::reload(); App::build(array('views' => array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'views' . DS))); $dispatcher = new Dispatcher(); $dispatcher->base = false; $url = 'test_cached_pages/cache_form'; ob_start(); $dispatcher->dispatch($url); $out = ob_get_clean(); ClassRegistry::flush(); ob_start(); $dispatcher->cached($url); $cached = ob_get_clean(); $result = str_replace(array("\t", "\r\n", "\n"), "", $out); $cached = preg_replace('/<!--+[^<>]+-->/', '', $cached); $expected = str_replace(array("\t", "\r\n", "\n"), "", $cached); $this->assertEqual($result, $expected); $filename = $this->__cachePath($dispatcher->here); unlink($filename); ClassRegistry::flush(); }
/** * testFullPageCachingDispatch method * * @return void * @access public */ function testFullPageCachingDispatch() { Configure::write('Cache.disable', false); Configure::write('Cache.check', true); Configure::write('debug', 2); $_POST = array(); $_SERVER['PHP_SELF'] = '/'; Router::reload(); Router::connect('/', array('controller' => 'test_cached_pages', 'action' => 'index')); App::build(array('views' => array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'views' . DS)), true); $dispatcher = new Dispatcher(); $dispatcher->base = false; $url = '/'; ob_start(); $dispatcher->dispatch($url); $out = ob_get_clean(); ob_start(); $dispatcher->cached($url); $cached = ob_get_clean(); $result = str_replace(array("\t", "\r\n", "\n"), "", $out); $cached = preg_replace('/<!--+[^<>]+-->/', '', $cached); $expected = str_replace(array("\t", "\r\n", "\n"), "", $cached); $this->assertEqual($result, $expected); $filename = $this->__cachePath($dispatcher->here); unlink($filename); $dispatcher->base = false; $url = 'test_cached_pages/index'; ob_start(); $dispatcher->dispatch($url); $out = ob_get_clean(); ob_start(); $dispatcher->cached($url); $cached = ob_get_clean(); $result = str_replace(array("\t", "\r\n", "\n"), "", $out); $cached = preg_replace('/<!--+[^<>]+-->/', '', $cached); $expected = str_replace(array("\t", "\r\n", "\n"), "", $cached); $this->assertEqual($result, $expected); $filename = $this->__cachePath($dispatcher->here); unlink($filename); $url = 'TestCachedPages/index'; ob_start(); $dispatcher->dispatch($url); $out = ob_get_clean(); ob_start(); $dispatcher->cached($url); $cached = ob_get_clean(); $result = str_replace(array("\t", "\r\n", "\n"), "", $out); $cached = preg_replace('/<!--+[^<>]+-->/', '', $cached); $expected = str_replace(array("\t", "\r\n", "\n"), "", $cached); $this->assertEqual($result, $expected); $filename = $this->__cachePath($dispatcher->here); unlink($filename); $url = 'TestCachedPages/test_nocache_tags'; ob_start(); $dispatcher->dispatch($url); $out = ob_get_clean(); ob_start(); $dispatcher->cached($url); $cached = ob_get_clean(); $result = str_replace(array("\t", "\r\n", "\n"), "", $out); $cached = preg_replace('/<!--+[^<>]+-->/', '', $cached); $expected = str_replace(array("\t", "\r\n", "\n"), "", $cached); $this->assertEqual($result, $expected); $filename = $this->__cachePath($dispatcher->here); unlink($filename); $url = 'test_cached_pages/view/param/param'; ob_start(); $dispatcher->dispatch($url); $out = ob_get_clean(); ob_start(); $dispatcher->cached($url); $cached = ob_get_clean(); $result = str_replace(array("\t", "\r\n", "\n"), "", $out); $cached = preg_replace('/<!--+[^<>]+-->/', '', $cached); $expected = str_replace(array("\t", "\r\n", "\n"), "", $cached); $this->assertEqual($result, $expected); $filename = $this->__cachePath($dispatcher->here); unlink($filename); $url = 'test_cached_pages/view/foo:bar/value:goo'; ob_start(); $dispatcher->dispatch($url); $out = ob_get_clean(); ob_start(); $dispatcher->cached($url); $cached = ob_get_clean(); $result = str_replace(array("\t", "\r\n", "\n"), "", $out); $cached = preg_replace('/<!--+[^<>]+-->/', '', $cached); $expected = str_replace(array("\t", "\r\n", "\n"), "", $cached); $this->assertEqual($result, $expected); $filename = $this->__cachePath($dispatcher->here); $this->assertTrue(file_exists($filename)); unlink($filename); }