Fixing the ControllerTestCase tests

This commit is contained in:
Jose Lorenzo Rodriguez 2011-03-09 01:05:58 -04:30
parent 7b7dabce48
commit ca32143292
3 changed files with 15 additions and 8 deletions

View file

@ -254,7 +254,13 @@ class ControllerTestCase extends CakeTestCase {
* @return Controller Mocked controller
*/
public function generate($controller, $mocks = array()) {
if (!class_exists($controller.'Controller') && App::import('Controller', $controller) === false) {
list($plugin, $controller) = pluginSplit($controller);
if ($plugin) {
App::uses($plugin . 'AppController', $plugin . '.Controller');
$plugin .= '.';
}
App::uses($controller . 'Controller', $plugin . 'Controller');
if (!class_exists($controller.'Controller')) {
throw new MissingControllerException(array('controller' => $controller.'Controller'));
}
ClassRegistry::flush();
@ -295,10 +301,11 @@ class ControllerTestCase extends CakeTestCase {
if ($methods === true) {
$methods = array();
}
list($plugin, $name) = pluginSplit($component);
if (!App::import('Component', $component)) {
list($plugin, $name) = pluginSplit($component, true);
App::uses($name . 'Component', $plugin . 'Controller/Component');
if (!class_exists($name . 'Component')) {
throw new MissingComponentFileException(array(
'file' => Inflector::underscore($name) . '.php',
'file' => $name . 'Component.php',
'class' => $name.'Component'
));
}

View file

@ -687,7 +687,7 @@ class View extends Object {
if (strpos($name, DS) === false && $name[0] !== '.') {
$name = $this->viewPath . DS . $subDir . Inflector::underscore($name);
} elseif (strpos($name, DS) !== false) {
if ($name{0} === DS || $name{1} === ':') {
if ($name[0] === DS || $name[1] === ':') {
if (is_file($name)) {
return $name;
}

View file

@ -123,9 +123,9 @@ class ControllerTestCaseTest extends CakeTestCase {
parent::setUp();
App::build(array(
'plugins' => array(LIBS . 'tests' . DS . 'test_app' . DS . 'plugins' . DS),
'controllers' => array(LIBS . 'tests' . DS . 'test_app' . DS . 'controllers' . DS),
'models' => array(LIBS . 'tests' . DS . 'test_app' . DS . 'models' . DS),
'views' => array(LIBS . 'tests' . DS . 'test_app' . DS . 'views' . DS)
'Controller' => array(LIBS . 'tests' . DS . 'test_app' . DS . 'controllers' . DS),
'Model' => array(LIBS . 'tests' . DS . 'test_app' . DS . 'models' . DS),
'View' => array(LIBS . 'tests' . DS . 'test_app' . DS . 'views' . DS)
));
$this->Case = new ControllerTestCase();
Router::reload();