Browse Source

Fixed error where App::import() failed to load new class types added in 2.0. Also fixed couple of test cases.

ADmad 15 years ago
parent
commit
75437b45d9
2 changed files with 10 additions and 8 deletions
  1. 6 6
      lib/Cake/Core/App.php
  2. 4 2
      lib/Cake/tests/Case/Core/AppTest.php

+ 6 - 6
lib/Cake/Core/App.php

@@ -614,10 +614,10 @@ class App {
 			return true;
 		}
 
-		$originalType = $type = strtolower($type);
-		$specialPackage = in_array($type, array('file', 'vendor'));
-		if (!$specialPackage && isset(self::$legacy[$type . 's'])) {
-			$type = self::$legacy[$type . 's'];
+		$originalType = strtolower($type);
+		$specialPackage = in_array($originalType, array('file', 'vendor'));
+		if (!$specialPackage && isset(self::$legacy[$originalType . 's'])) {
+			$type = self::$legacy[$originalType . 's'];
 		}
 		list($plugin, $name) = pluginSplit($name);
 		if (!empty($plugin)) {
@@ -628,11 +628,11 @@ class App {
 			return self::_loadClass($name, $plugin, $type, $originalType, $parent);
 		}
 
-		if ($type == 'file' && !empty($file)) {
+		if ($originalType == 'file' && !empty($file)) {
 			return self::_loadFile($name, $plugin, $search, $file, $return);
 		}
 
-		if ($type == 'vendor') {
+		if ($originalType == 'vendor') {
 			return self::_loadVendor($name, $plugin, $file, $ext);
 		}
 

+ 4 - 2
lib/Cake/tests/Case/Core/AppTest.php

@@ -285,9 +285,11 @@ class AppImportTest extends CakeTestCase {
 		$this->assertTrue(in_array('TestPluginPersisterOne', $result));
 
 		$result = App::objects('TestPlugin.helper');
+		sort($result);
 		$expected = array('OtherHelperHelper', 'PluggedHelper', 'TestPluginApp');
 		$this->assertEquals($result, $expected);
 		$result = App::objects('TestPlugin.View/Helper');
+		sort($result);
 		$expected = array('OtherHelperHelper', 'PluggedHelper', 'TestPluginApp');
 		$this->assertEquals($result, $expected);
 
@@ -462,7 +464,7 @@ class AppImportTest extends CakeTestCase {
 		$result = App::import('Helper', 'TestPlugin.OtherHelper');
 		$this->assertTrue($result);
 		$this->assertTrue(class_exists('OtherHelperHelper'));
-		
+
 		$result = App::import('Helper', 'TestPlugin.TestPluginApp');
 		$this->assertTrue($result);
 		$this->assertTrue(class_exists('TestPluginAppHelper'));
@@ -470,7 +472,7 @@ class AppImportTest extends CakeTestCase {
 		$result = App::import('Datasource', 'TestPlugin.TestSource');
 		$this->assertTrue($result);
 		$this->assertTrue(class_exists('TestSource'));
-		
+
 		App::build();
 	}