Browse files

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
  • Loading branch information...
1 parent c6258fa commit 7107cd663142fe79b98fde39529516344e729685 @markstory markstory committed May 19, 2012
Showing with 5 additions and 3 deletions.
  1. +5 −3 lib/Cake/Console/Shell.php
View
8 lib/Cake/Console/Shell.php
@@ -680,12 +680,14 @@ public function createFile($path, $contents) {
* @return boolean Success
*/
protected function _checkUnitTest() {
- if (App::import('Vendor', 'phpunit', array('file' => 'PHPUnit' . DS . 'Autoload.php'))) {
+ if (class_exists('PHPUnit_Framework_TestCase')) {
return true;
- }
- if (@include 'PHPUnit' . DS . 'Autoload.php') {
+ } 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';

0 comments on commit 7107cd6

Please sign in to comment.