Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixing issue where an app that was in a directory that had the same name

as a controller would end up failing to find view cache files.
Adding test for app name in controller name failure to create cache
Fixes #1025

Conflicts:

	cake/libs/view/helpers/cache.php
  • Loading branch information...
commit 2abf34d93e26894436bf1b198e74936d47e7a541 1 parent 2a50c3a
Mark Story markstory authored
Showing with 37 additions and 0 deletions.
  1. +37 −0 cake/tests/cases/libs/view/helpers/cache.test.php
37 cake/tests/cases/libs/view/helpers/cache.test.php
View
@@ -451,6 +451,43 @@ function testCacheWithCustomRoutes() {
$this->assertTrue(file_exists($filename));
@unlink($filename);
}
+
+/**
+ * test ControllerName contains AppName
+ *
+ * This test verifys view cache is created correctly when the app name is contained in part of the controller name.
+ * (webapp Name) base name is 'cache' controller is 'cacheTest' action is 'cache_name'
+ * apps url would look somehing like http://localhost/cache/cacheTest/cache_name
+ *
+ * @return void
+ **/
+ function testCacheBaseNameControllerName() {
+ $this->Controller->cache_parsing();
+ $this->Controller->cacheAction = array(
+ 'cache_name' => 21600
+ );
+ $this->Controller->params = array(
+ 'controller' => 'cacheTest',
+ 'action' => 'cache_name',
+ 'url' => array(),
+ 'pass' => array(),
+ 'named' => array()
+ );
+ $this->Controller->here = '/cache/cacheTest/cache_name';
+ $this->Controller->action = 'cache_name';
+ $this->Controller->base = '/cache';
+
+ $View = new View($this->Controller);
+ $result = $View->render('index');
+
+ $this->assertNoPattern('/cake:nocache/', $result);
+ $this->assertNoPattern('/php echo/', $result);
+
+ $filename = CACHE . 'views' . DS . 'cache_cachetest_cache_name.php';
+ $this->assertTrue(file_exists($filename));
+ @unlink($filename);
+ }
+
/**
* testCacheEmptySections method
*
Please sign in to comment.
Something went wrong with that request. Please try again.