Browse Source

Alias the correct classes and add warning against PHPUnit version

antograssiot 9 years ago
parent
commit
9b7c7e8395

+ 8 - 2
src/TestSuite/Fixture/FixtureInjector.php

@@ -15,12 +15,18 @@
 namespace Cake\TestSuite\Fixture;
 
 if (class_exists('PHPUnit_Runner_Version')) {
+    if (version_compare(\PHPUnit_Runner_Version::id(), '5.7', '<')) {
+        trigger_error(sprintf('Your PHPUnit Version must be at least 5.7.0 to use CakePHP Testsuite, found %s', \PHPUnit_Runner_Version::id()), E_USER_ERROR);
+    }
     class_alias('PHPUnit_Framework_Test', 'PHPUnit\Framework\Test');
+    class_alias('PHPUnit_Framework_Warning', 'PHPUnit\Framework\Warning');
+
     if (!class_exists('PHPUnit\Framework\TestSuite')) {
         class_alias('PHPUnit_Framework_TestSuite', 'PHPUnit\Framework\TestSuite');
     }
-    class_alias('PHPUnit_Framework_Error_Warning', 'PHPUnit\Framework\Error\Warning');
-    class_alias('PHPUnit_Framework_AssertionFailedError', 'PHPUnit\Framework\AssertionFailedError');
+    if (class_exists('PHPUnit_Runner_Version') && !class_exists('PHPUnit\Framework\AssertionFailedError')) {
+        class_alias('PHPUnit_Framework_AssertionFailedError', 'PHPUnit\Framework\AssertionFailedError');
+    }
 }
 
 use Cake\TestSuite\TestCase;

+ 3 - 0
src/TestSuite/IntegrationTestCase.php

@@ -14,6 +14,9 @@
 namespace Cake\TestSuite;
 
 if (class_exists('PHPUnit_Runner_Version') && !interface_exists('PHPUnit\Exception')) {
+    if (version_compare(\PHPUnit_Runner_Version::id(), '5.7', '<')) {
+        trigger_error(sprintf('Your PHPUnit Version must be at least 5.7.0 to use CakePHP Testsuite, found %s', \PHPUnit_Runner_Version::id()), E_USER_ERROR);
+    }
     class_alias('PHPUnit_Exception', 'PHPUnit\Exception');
 }
 

+ 4 - 0
src/TestSuite/TestSuite.php

@@ -17,7 +17,11 @@
 namespace Cake\TestSuite;
 
 if (class_exists('PHPUnit_Runner_Version') && !class_exists('PHPUnit\Framework\TestSuite')) {
+    if (version_compare(\PHPUnit_Runner_Version::id(), '5.7', '<')) {
+        trigger_error(sprintf('Your PHPUnit Version must be at least 5.7.0 to use CakePHP Testsuite, found %s', \PHPUnit_Runner_Version::id()), E_USER_ERROR);
+    }
     class_alias('PHPUnit_Framework_TestSuite', 'PHPUnit\Framework\TestSuite');
+
 }
 
 use Cake\Filesystem\Folder;

+ 1 - 0
tests/bootstrap.php

@@ -135,5 +135,6 @@ ini_set('intl.default_locale', 'en_US');
 if (class_exists('PHPUnit_Runner_Version')) {
     class_alias('PHPUnit_Framework_TestResult', 'PHPUnit\Framework\TestResult');
     class_alias('PHPUnit_Framework_Error', 'PHPUnit\Framework\Error\Error');
+    class_alias('PHPUnit_Framework_Error_Warning', 'PHPUnit\Framework\Error\Warning');
     class_alias('PHPUnit_Framework_ExpectationFailedException', 'PHPUnit\Framework\ExpectationFailedException');
 }