Browse Source

Be compatible with PHPUnit installed with composer.

Doing a class_exists() check is a simple way to check for PHPUnit being
installed via an autoloader. It also keeps things compatible with
a Vendor dir installation.

Fixes #3721
mark_story 13 years ago
parent
commit
386be52c71
1 changed files with 5 additions and 2 deletions
  1. 5 2
      lib/Cake/TestSuite/CakeTestSuiteDispatcher.php

+ 5 - 2
lib/Cake/TestSuite/CakeTestSuiteDispatcher.php

@@ -137,6 +137,9 @@ class CakeTestSuiteDispatcher {
  * @return boolean true if found, false otherwise
  */
 	public function loadTestFramework() {
+		if (class_exists('PHPUnit_Framework_TestCase')) {
+			return true;
+		}
 		foreach (App::path('vendors') as $vendor) {
 			$vendor = rtrim($vendor, DS);
 			if (is_dir($vendor . DS . 'PHPUnit')) {
@@ -144,8 +147,8 @@ class CakeTestSuiteDispatcher {
 				break;
 			}
 		}
-
-		return (include ('PHPUnit' . DS . 'Autoload.php')) !== false;
+		include 'PHPUnit' . DS . 'Autoload.php';
+		return class_exists('PHPUnit_Framework_TestCase');
 	}
 
 /**