Changeset 148
- Timestamp:
- 02/13/07 11:15:53 (2 years ago)
- Files:
-
- trunk/classes/phing/tasks/ext/phpunit/BatchTest.php (modified) (3 diffs)
- trunk/classes/phing/tasks/ext/phpunit/FormatterElement.php (modified) (2 diffs)
- trunk/classes/phing/tasks/ext/phpunit/PHPUnit2Task.php (modified) (3 diffs)
- trunk/classes/phing/tasks/ext/phpunit/PHPUnit2TestRunner.php (modified) (3 diffs)
- trunk/classes/phing/tasks/ext/phpunit/PHPUnitUtil.php (modified) (1 diff)
- trunk/classes/phing/tasks/ext/phpunit/phpunit2 (added)
- trunk/classes/phing/tasks/ext/phpunit/phpunit2/PHPUnit2ResultFormatter.php (moved) (moved from trunk/classes/phing/tasks/ext/phpunit/PHPUnit2ResultFormatter.php) (1 diff)
- trunk/classes/phing/tasks/ext/phpunit/phpunit2/PlainPHPUnit2ResultFormatter.php (moved) (moved from trunk/classes/phing/tasks/ext/phpunit/PlainPHPUnit2ResultFormatter.php) (2 diffs)
- trunk/classes/phing/tasks/ext/phpunit/phpunit2/SummaryPHPUnit2ResultFormatter.php (moved) (moved from trunk/classes/phing/tasks/ext/phpunit/SummaryPHPUnit2ResultFormatter.php) (2 diffs)
- trunk/classes/phing/tasks/ext/phpunit/phpunit2/XMLPHPUnit2ResultFormatter.php (moved) (moved from trunk/classes/phing/tasks/ext/phpunit/XMLPHPUnit2ResultFormatter.php) (2 diffs)
- trunk/classes/phing/tasks/ext/phpunit/phpunit3 (added)
- trunk/classes/phing/tasks/ext/phpunit/phpunit3/PHPUnit3ResultFormatter.php (added)
- trunk/classes/phing/tasks/ext/phpunit/phpunit3/PlainPHPUnit3ResultFormatter.php (added)
- trunk/classes/phing/tasks/ext/phpunit/phpunit3/SummaryPHPUnit3ResultFormatter.php (added)
- trunk/classes/phing/tasks/ext/phpunit/phpunit3/XMLPHPUnit3ResultFormatter.php (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/classes/phing/tasks/ext/phpunit/BatchTest.php
r142 r148 24 24 /** 25 25 * Scans a list of files given by the fileset attribute, extracts 26 * all subclasses of PHPUnit 2_Framework_TestCase.26 * all subclasses of PHPUnit(2)_Framework_TestCase. 27 27 * 28 28 * @author Michiel Rook <michiel.rook@gmail.com> … … 131 131 132 132 /** 133 * Filters an array of classes, removes all classes that are not subclasses of PHPUnit2_Framework_TestCase, 133 * Checks wheter $input is a testcase subclass. 134 */ 135 private function isTestCase($input) 136 { 137 return is_subclass_of($input, 'PHPUnit2_Framework_TestCase') || is_subclass_of($input, 'PHPUnit_Framework_TestCase'); 138 } 139 140 /** 141 * Filters an array of classes, removes all classes that are not subclasses of PHPUnit(2)_Framework_TestCase, 134 142 * or classes that are declared abstract 135 143 */ … … 138 146 $reflect = new ReflectionClass($input); 139 147 140 return is_subclass_of($input, 'PHPUnit2_Framework_TestCase') && (!$reflect->isAbstract());148 return $this->isTestCase($input) && (!$reflect->isAbstract()); 141 149 } 142 150 trunk/classes/phing/tasks/ext/phpunit/FormatterElement.php
r142 r148 20 20 */ 21 21 22 require_once 'phing/tasks/ext/phpunit/XMLPHPUnit2ResultFormatter.php';23 require_once 'phing/tasks/ext/phpunit/PlainPHPUnit2ResultFormatter.php';24 22 require_once 'phing/system/io/PhingFile.php'; 25 23 … … 47 45 { 48 46 $this->type = $type; 49 47 48 if ($this->type == "summary") 49 { 50 if (PHPUnitUtil::$installedVersion == 3) 51 { 52 require_once 'phing/tasks/ext/phpunit/phpunit3/SummaryPHPUnit3ResultFormatter.php'; 53 $this->formatter = new SummaryPHPUnit3ResultFormatter(); 54 } 55 else 56 { 57 require_once 'phing/tasks/ext/phpunit/phpunit2/SummaryPHPUnit2ResultFormatter.php'; 58 $this->formatter = new SummaryPHPUnit2ResultFormatter(); 59 } 60 } 61 else 50 62 if ($this->type == "xml") 51 63 { 52 64 $destFile = new PhingFile($this->toDir, 'testsuites.xml'); 53 $this->formatter = new XMLPHPUnit2ResultFormatter(); 65 66 if (PHPUnitUtil::$installedVersion == 3) 67 { 68 require_once 'phing/tasks/ext/phpunit/phpunit3/XMLPHPUnit3ResultFormatter.php'; 69 $this->formatter = new XMLPHPUnit3ResultFormatter(); 70 } 71 else 72 { 73 require_once 'phing/tasks/ext/phpunit/phpunit2/XMLPHPUnit2ResultFormatter.php'; 74 $this->formatter = new XMLPHPUnit2ResultFormatter(); 75 } 54 76 } 55 77 else 56 78 if ($this->type == "plain") 57 79 { 58 $this->formatter = new PlainPHPUnit2ResultFormatter(); 80 if (PHPUnitUtil::$installedVersion == 3) 81 { 82 require_once 'phing/tasks/ext/phpunit/phpunit3/PlainPHPUnit3ResultFormatter.php'; 83 $this->formatter = new PlainPHPUnit3ResultFormatter(); 84 } 85 else 86 { 87 require_once 'phing/tasks/ext/phpunit/phpunit2/PlainPHPUnit2ResultFormatter.php'; 88 $this->formatter = new PlainPHPUnit2ResultFormatter(); 89 } 59 90 } 60 91 else trunk/classes/phing/tasks/ext/phpunit/PHPUnit2Task.php
r142 r148 20 20 */ 21 21 22 require_once 'PEAR/Registry.php'; 22 23 require_once 'phing/Task.php'; 23 24 require_once 'phing/system/io/PhingFile.php'; … … 53 54 */ 54 55 function init() { 55 include_once 'PHPUnit2/Util/Filter.php';56 if (!class_exists('PHPUnit2_Util_Filter')) {57 throw new BuildException("PHPUnit2Task depends on PEAR PHPUnit2 package being installed.", $this->getLocation());58 }59 60 56 if (version_compare(PHP_VERSION, '5.0.3') < 0) { 61 57 throw new BuildException("PHPUnit2Task requires PHP version >= 5.0.3.", $this->getLocation()); 62 58 } 63 59 60 /** 61 * Ugly hack to get PHPUnit version number 62 */ 63 $config = new PEAR_Config(); 64 $registry = new PEAR_Registry($config->get('php_dir')); 65 $pkg_info = $registry->_packageInfo("PHPUnit", null, "pear.phpunit.de"); 66 67 if ($pkg_info != NULL) 68 { 69 var_dump($pkg_info['version']); 70 71 PHPUnitUtil::$installedVersion = 3; 72 } 73 else 74 { 75 /** 76 * Try to find PHPUnit2 77 */ 78 include_once 'PHPUnit2/Util/Filter.php'; 79 if (!class_exists('PHPUnit2_Util_Filter')) { 80 throw new BuildException("PHPUnit2Task depends on PEAR PHPUnit2 package being installed.", $this->getLocation()); 81 } 82 83 PHPUnitUtil::$installedVersion = 2; 84 } 85 64 86 // other dependencies that should only be loaded when class is actually used. 65 87 require_once 'phing/tasks/ext/phpunit/PHPUnit2TestRunner.php'; 66 88 require_once 'phing/tasks/ext/phpunit/BatchTest.php'; 67 89 require_once 'phing/tasks/ext/phpunit/FormatterElement.php'; 68 require_once 'phing/tasks/ext/phpunit/SummaryPHPUnit2ResultFormatter.php'; 69 70 // add some defaults to the PHPUnit2 Filter 71 PHPUnit2_Util_Filter::addFileToFilter('PHPUnit2Task.php'); 72 PHPUnit2_Util_Filter::addFileToFilter('PHPUnit2TestRunner.php'); 73 PHPUnit2_Util_Filter::addFileToFilter('phing/Task.php'); 74 PHPUnit2_Util_Filter::addFileToFilter('phing/Target.php'); 75 PHPUnit2_Util_Filter::addFileToFilter('phing/Project.php'); 76 PHPUnit2_Util_Filter::addFileToFilter('phing/Phing.php'); 77 PHPUnit2_Util_Filter::addFileToFilter('phing.php'); 78 90 //require_once 'phing/tasks/ext/phpunit/SummaryPHPUnit2ResultFormatter.php'; 91 92 // add some defaults to the PHPUnit filter 93 if (PHPUnitUtil::$installedVersion == 3) 94 { 95 PHPUnit_Util_Filter::addFileToFilter('PHPUnit2Task.php', 'PHING'); 96 PHPUnit_Util_Filter::addFileToFilter('PHPUnit2TestRunner.php', 'PHING'); 97 PHPUnit_Util_Filter::addFileToFilter('phing/Task.php', 'PHING'); 98 PHPUnit_Util_Filter::addFileToFilter('phing/Target.php', 'PHING'); 99 PHPUnit_Util_Filter::addFileToFilter('phing/Project.php', 'PHING'); 100 PHPUnit_Util_Filter::addFileToFilter('phing/Phing.php', 'PHING'); 101 PHPUnit_Util_Filter::addFileToFilter('phing.php', 'PHING'); 102 } 103 else 104 { 105 PHPUnit2_Util_Filter::addFileToFilter('PHPUnit2Task.php'); 106 PHPUnit2_Util_Filter::addFileToFilter('PHPUnit2TestRunner.php'); 107 PHPUnit2_Util_Filter::addFileToFilter('phing/Task.php'); 108 PHPUnit2_Util_Filter::addFileToFilter('phing/Target.php'); 109 PHPUnit2_Util_Filter::addFileToFilter('phing/Project.php'); 110 PHPUnit2_Util_Filter::addFileToFilter('phing/Phing.php'); 111 PHPUnit2_Util_Filter::addFileToFilter('phing.php'); 112 } 79 113 } 80 114 … … 131 165 { 132 166 $fe = new FormatterElement(); 133 $fe->set ClassName('SummaryPHPUnit2ResultFormatter');167 $fe->setType("summary"); 134 168 $fe->setUseFile(false); 135 169 $this->formatters[] = $fe; trunk/classes/phing/tasks/ext/phpunit/PHPUnit2TestRunner.php
r142 r148 51 51 private $project = NULL; 52 52 53 function __construct( PHPUnit2_Framework_TestSuite$suite, Project $project)53 function __construct($suite, Project $project) 54 54 { 55 55 $this->suite = $suite; … … 63 63 } 64 64 65 function addFormatter( PHPUnit2_Framework_TestListener$formatter)65 function addFormatter($formatter) 66 66 { 67 67 $this->formatters[] = $formatter; … … 70 70 function run() 71 71 { 72 $res = new PHPUnit2_Framework_TestResult(); 72 $res = NULL; 73 74 if (PHPUnitUtil::$installedVersion == 3) 75 { 76 $res = new PHPUnit_Framework_TestResult(); 77 } 78 else 79 { 80 $res = new PHPUnit2_Framework_TestResult(); 81 } 73 82 74 83 if ($this->codecoverage) trunk/classes/phing/tasks/ext/phpunit/PHPUnitUtil.php
r141 r148 30 30 class PHPUnitUtil 31 31 { 32 /** 33 * Installed PHPUnit version 34 */ 35 public static $installedVersion = 2; 36 32 37 protected static $definedClasses = array(); 33 38 trunk/classes/phing/tasks/ext/phpunit/phpunit2/PHPUnit2ResultFormatter.php
r142 r148 29 29 * @author Michiel Rook <michiel.rook@gmail.com> 30 30 * @version $Id$ 31 * @package phing.tasks.ext.phpunit 31 * @package phing.tasks.ext.phpunit.phpunit2 32 32 * @since 2.1.0 33 33 */ trunk/classes/phing/tasks/ext/phpunit/phpunit2/PlainPHPUnit2ResultFormatter.php
r142 r148 23 23 require_once 'PHPUnit2/Util/Filter.php'; 24 24 25 require_once 'phing/tasks/ext/phpunit/ PHPUnit2ResultFormatter.php';25 require_once 'phing/tasks/ext/phpunit/phpunit2/PHPUnit2ResultFormatter.php'; 26 26 27 27 /** … … 30 30 * @author Michiel Rook <michiel.rook@gmail.com> 31 31 * @version $Id$ 32 * @package phing.tasks.ext.phpunit 32 * @package phing.tasks.ext.phpunit.phpunit2 33 33 * @since 2.1.0 34 34 */ trunk/classes/phing/tasks/ext/phpunit/phpunit2/SummaryPHPUnit2ResultFormatter.php
r142 r148 22 22 require_once 'PHPUnit2/Framework/Test.php'; 23 23 24 require_once 'phing/tasks/ext/phpunit/ PHPUnit2ResultFormatter.php';24 require_once 'phing/tasks/ext/phpunit/phpunit2/PHPUnit2ResultFormatter.php'; 25 25 26 26 /** … … 29 29 * @author Michiel Rook <michiel.rook@gmail.com> 30 30 * @version $Id$ 31 * @package phing.tasks.ext.phpunit 31 * @package phing.tasks.ext.phpunit.phpunit2 32 32 * @since 2.1.0 33 33 */ trunk/classes/phing/tasks/ext/phpunit/phpunit2/XMLPHPUnit2ResultFormatter.php
r142 r148 25 25 require_once 'PHPUnit2/Util/Log/XML.php'; 26 26 27 require_once 'phing/tasks/ext/phpunit/ PHPUnit2ResultFormatter.php';27 require_once 'phing/tasks/ext/phpunit/phpunit2/PHPUnit2ResultFormatter.php'; 28 28 29 29 /** … … 32 32 * @author Michiel Rook <michiel.rook@gmail.com> 33 33 * @version $Id$ 34 * @package phing.tasks.ext.phpunit 34 * @package phing.tasks.ext.phpunit.phpunit2 35 35 * @since 2.1.0 36 36 */
