Fix fatal error when checking for PHPUnit.

Doubly including PHPUnit/Autoload.php causes fatal errors.
Having access to one of the PHPUnit classes means phpunit exists as
well.

Fixes #2890
This commit is contained in:
mark_story 2012-05-19 11:35:55 -04:00
parent c6258fa68c
commit 7107cd6631

View file

@ -680,12 +680,14 @@ class Shell extends Object {
* @return boolean Success
*/
protected function _checkUnitTest() {
if (App::import('Vendor', 'phpunit', array('file' => 'PHPUnit' . DS . 'Autoload.php'))) {
return true;
}
if (@include 'PHPUnit' . DS . 'Autoload.php') {
if (class_exists('PHPUnit_Framework_TestCase')) {
return true;
} elseif (@include 'PHPUnit' . DS . 'Autoload.php') {
return true;
} elseif (App::import('Vendor', 'phpunit', array('file' => 'PHPUnit' . DS . 'Autoload.php'))) {
return true;
}
$prompt = __d('cake_console', 'PHPUnit is not installed. Do you want to bake unit test files anyway?');
$unitTest = $this->in($prompt, array('y', 'n'), 'y');
$result = strtolower($unitTest) == 'y' || strtolower($unitTest) == 'yes';