Permalink
Browse files

API CHANGE Removing support for PHPUnit 3.4 (3.5.0 has been released …

…in Sept 2010). Removing PhpUnitWrapper_3_4, and adding better version detection.
  • Loading branch information...
1 parent 65f6104 commit 23e342ce03a0e54206c52ffa9bd0d09ba7651883 @chillu chillu committed Feb 11, 2011
Showing with 7 additions and 84 deletions.
  1. +1 −1 dev/TestRunner.php
  2. +6 −18 dev/phpunit/PhpUnitWrapper.php
  3. +0 −63 dev/phpunit/PhpUnitWrapper_3_4.php
  4. +0 −2 dev/phpunit/PhpUnitWrapper_3_5.php
View
2 dev/TestRunner.php
@@ -89,7 +89,7 @@ function init() {
if (!self::$default_reporter) self::set_reporter(Director::is_cli() ? 'CliDebugView' : 'DebugView');
if(!PhpUnitWrapper::has_php_unit()) {
- die("Please install PHPUnit using pear");
+ die("Please install PHPUnit 3.5.0 or newer using pear\n");
}
}
View
24 dev/phpunit/PhpUnitWrapper.php
@@ -22,7 +22,7 @@ function fileExistsInIncludePath($filename) {
/**
* PHPUnit Wrapper class.
* Base class for PHPUnit wrapper classes to support different PHPUnit versions.
- * The current implementation supports PHPUnit 3.4 and PHPUnit 3.5.
+ * The current implementation supports PHPUnit 3.5.
*/
class PhpUnitWrapper implements IPhpUnitWrapper {
@@ -48,13 +48,6 @@ class PhpUnitWrapper implements IPhpUnitWrapper {
* @var PHPUnit_Framework_TestListener
*/
private $reporter = null;
-
- /**
- * Shows the version, implemented by the phpunit-wrapper class instance.
- * This instance implements no phpunit, the version is null.
- * @var String
- */
- protected $version = null;
private static $phpunit_wrapper = null;
@@ -123,11 +116,10 @@ public function setFrameworkTestResults($value) {
}
/**
- * Getter for $version (@see $version).
* @return String
*/
public function getVersion() {
- return $this->version;
+ return (method_exists('PHPUnit_Runner_Version', 'id')) ? PHPUnit_Runner_Version::id() : null;
}
/**
@@ -140,25 +132,21 @@ static function inst() {
if (self::$phpunit_wrapper == null) {
if (fileExistsInIncludePath("/PHPUnit/Autoload.php")) {
self::$phpunit_wrapper = new PhpUnitWrapper_3_5();
- } else
- if (fileExistsInIncludePath("/PHPUnit/Framework.php")) {
- self::$phpunit_wrapper = new PhpUnitWrapper_3_4();
} else {
- self::$phpunit_wrapper = new PhpUnitWrapper();
+ self::$phpunit_wrapper = new PhpUnitWrapper();
}
self::$phpunit_wrapper->init();
-
}
+
return self::$phpunit_wrapper;
}
/**
- * Returns true if one of the two supported PHPUNIT versions is installed.
- *
* @return boolean true if PHPUnit has been installed on the environment.
*/
static function has_php_unit() {
- return (Bool) self::inst()->getVersion();
+ $version = self::inst()->getVersion();
+ return ($version && version_compare($version, '3.5.0', '>='));
}
/**
View
63 dev/phpunit/PhpUnitWrapper_3_4.php
@@ -1,63 +0,0 @@
-<?php
-/**
-* @package sapphire
-* @subpackage dev
-*/
-
-/**
- * PHPUnit Wrapper class. Implements the correct behaviour for PHPUnit V3.4.
- */
-class PhpUnitWrapper_3_4 extends PhpUnitWrapper {
-
- protected $version = 'PhpUnit V3.4';
-
- /**
- * Initialise the wrapper class.
- */
- public function init() {
- parent::init();
- require_once 'PHPUnit/Framework.php';
- require_once 'PHPUnit/Util/Report.php';
- require_once 'PHPUnit/TextUI/TestRunner.php';
- }
-
- /**
- * Overwrites beforeRunTests. Initiates coverage-report generation if
- * $coverage has been set to true (@see setCoverageStatus).
- */
- protected function beforeRunTests() {
-
- if($this->getCoverageStatus()) {
- // blacklist selected folders from coverage report
- foreach(TestRunner::$coverage_filter_dirs as $dir) {
- PHPUnit_Util_Filter::addDirectoryToFilter(BASE_PATH . '/' . $dir);
- }
- $this->getFrameworkTestResults()->collectCodeCoverageInformation(true);
- }
- }
-
- /**
- * Overwrites aferRunTests. Creates coverage report and clover report
- * if required.
- */
- protected function aferRunTests() {
-
- if($this->getCoverageStatus()) {
-
- if(!file_exists(ASSETS_PATH . '/coverage-report')) {
- mkdir(ASSETS_PATH . '/coverage-report');
- }
-
- $ret = PHPUnit_Util_Report::render($this->getFrameworkTestResults(), ASSETS_PATH . '/coverage-report/');
-
- $coverageApp = ASSETS_PATH . '/coverage-report/' . preg_replace('/[^A-Za-z0-9]/','_',preg_replace('/(\/$)|(^\/)/','',Director::baseFolder())) . '.html';
- $coverageTemplates = ASSETS_PATH . '/coverage-report/' . preg_replace('/[^A-Za-z0-9]/','_',preg_replace('/(\/$)|(^\/)/','',realpath(TEMP_FOLDER))) . '.html';
-
- echo "<p>Coverage reports available here:<ul>
- <li><a href=\"$coverageApp\">Coverage report of the application</a></li>
- <li><a href=\"$coverageTemplates\">Coverage report of the templates</a></li>
- </ul>";
- }
- }
-
-}
View
2 dev/phpunit/PhpUnitWrapper_3_5.php
@@ -6,8 +6,6 @@
class PhpUnitWrapper_3_5 extends PhpUnitWrapper {
- protected $version = 'PhpUnit V3.5';
-
protected $coverage = null;
protected static $test_name = 'SapphireTest';

0 comments on commit 23e342c

Please sign in to comment.