mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 11:28:25 +00:00
Consistently inflect theme names.
Themes should be consistently converted into CamelCase, this makes the camelization consitent with the treatment in App::themePath(). Fixes #3508
This commit is contained in:
parent
75f654b87b
commit
6d743971e9
2 changed files with 6 additions and 12 deletions
|
@ -300,7 +300,7 @@ class ViewTest extends CakeTestCase {
|
||||||
$this->Controller->params['pass'] = array('home');
|
$this->Controller->params['pass'] = array('home');
|
||||||
|
|
||||||
$ThemeView = new TestThemeView($this->Controller);
|
$ThemeView = new TestThemeView($this->Controller);
|
||||||
$ThemeView->theme = 'TestTheme';
|
$ThemeView->theme = 'test_theme';
|
||||||
$expected = CAKE . 'Test' . DS . 'test_app' . DS . 'View' . DS . 'Pages' . DS . 'home.ctp';
|
$expected = CAKE . 'Test' . DS . 'test_app' . DS . 'View' . DS . 'Pages' . DS . 'home.ctp';
|
||||||
$result = $ThemeView->getViewFileName('home');
|
$result = $ThemeView->getViewFileName('home');
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
|
@ -309,6 +309,7 @@ class ViewTest extends CakeTestCase {
|
||||||
$result = $ThemeView->getViewFileName('/Posts/index');
|
$result = $ThemeView->getViewFileName('/Posts/index');
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
|
|
||||||
|
$ThemeView->theme = 'TestTheme';
|
||||||
$expected = CAKE . 'Test' . DS . 'test_app' . DS . 'View' . DS . 'Themed' . DS . 'TestTheme' . DS . 'Layouts' . DS . 'default.ctp';
|
$expected = CAKE . 'Test' . DS . 'test_app' . DS . 'View' . DS . 'Themed' . DS . 'TestTheme' . DS . 'Layouts' . DS . 'default.ctp';
|
||||||
$result = $ThemeView->getLayoutFileName();
|
$result = $ThemeView->getLayoutFileName();
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
|
@ -546,11 +547,7 @@ class ViewTest extends CakeTestCase {
|
||||||
$this->ThemeController->params['pass'] = array('home');
|
$this->ThemeController->params['pass'] = array('home');
|
||||||
|
|
||||||
$View = new TestThemeView($this->ThemeController);
|
$View = new TestThemeView($this->ThemeController);
|
||||||
ob_start();
|
$View->getViewFileName('does_not_exist');
|
||||||
$result = $View->getViewFileName('does_not_exist');
|
|
||||||
$expected = ob_get_clean();
|
|
||||||
$this->assertRegExp("/PagesController::/", $expected);
|
|
||||||
$this->assertRegExp("/views(\/|\\\)themed(\/|\\\)my_theme(\/|\\\)pages(\/|\\\)does_not_exist.ctp/", $expected);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -577,11 +574,7 @@ class ViewTest extends CakeTestCase {
|
||||||
$this->ThemeController->theme = 'my_theme';
|
$this->ThemeController->theme = 'my_theme';
|
||||||
|
|
||||||
$View = new TestThemeView($this->ThemeController);
|
$View = new TestThemeView($this->ThemeController);
|
||||||
ob_start();
|
|
||||||
$result = $View->getLayoutFileName();
|
$result = $View->getLayoutFileName();
|
||||||
$expected = ob_get_clean();
|
|
||||||
$this->assertRegExp("/Missing Layout/", $expected);
|
|
||||||
$this->assertRegExp("/views(\/|\\\)themed(\/|\\\)my_theme(\/|\\\)layouts(\/|\\\)whatever.ctp/", $expected);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1111,13 +1111,14 @@ class View extends Object {
|
||||||
|
|
||||||
$paths = array_unique(array_merge($paths, $viewPaths));
|
$paths = array_unique(array_merge($paths, $viewPaths));
|
||||||
if (!empty($this->theme)) {
|
if (!empty($this->theme)) {
|
||||||
|
$theme = Inflector::camelize($this->theme);
|
||||||
$themePaths = array();
|
$themePaths = array();
|
||||||
foreach ($paths as $path) {
|
foreach ($paths as $path) {
|
||||||
if (strpos($path, DS . 'Plugin' . DS) === false) {
|
if (strpos($path, DS . 'Plugin' . DS) === false) {
|
||||||
if ($plugin) {
|
if ($plugin) {
|
||||||
$themePaths[] = $path . 'Themed' . DS . $this->theme . DS . 'Plugin' . DS . $plugin . DS;
|
$themePaths[] = $path . 'Themed' . DS . $theme . DS . 'Plugin' . DS . $plugin . DS;
|
||||||
}
|
}
|
||||||
$themePaths[] = $path . 'Themed' . DS . $this->theme . DS;
|
$themePaths[] = $path . 'Themed' . DS . $theme . DS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$paths = array_merge($themePaths, $paths);
|
$paths = array_merge($themePaths, $paths);
|
||||||
|
|
Loading…
Reference in a new issue