diff options
Diffstat (limited to 'buildscripts/PHPUnit2/Runner/IncludePathTestCollector.php')
-rw-r--r-- | buildscripts/PHPUnit2/Runner/IncludePathTestCollector.php | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/buildscripts/PHPUnit2/Runner/IncludePathTestCollector.php b/buildscripts/PHPUnit2/Runner/IncludePathTestCollector.php deleted file mode 100644 index b84f0e74..00000000 --- a/buildscripts/PHPUnit2/Runner/IncludePathTestCollector.php +++ /dev/null @@ -1,184 +0,0 @@ -<?php -/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ - -/** - * PHP Version 5 - * - * Copyright (c) 2002-2006, Sebastian Bergmann <sb@sebastian-bergmann.de>. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * * Neither the name of Sebastian Bergmann nor the names of his - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRIC - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * @category Testing - * @package PHPUnit2 - * @author Sebastian Bergmann <sb@sebastian-bergmann.de> - * @copyright 2002-2006 Sebastian Bergmann <sb@sebastian-bergmann.de> - * @license http://www.opensource.org/licenses/bsd-license.php BSD License - * @version CVS: $Id: IncludePathTestCollector.php,v 1.13.2.5 2005/12/17 16:04:56 sebastian Exp $ - * @link http://pear.php.net/package/PHPUnit2 - * @since File available since Release 2.1.0 - */ - -if (!class_exists('AppendIterator')) { - class AppendIterator implements Iterator { - private $iterators; - - public function __construct() { - $this->iterators = new ArrayIterator(); - } - - public function __call($func, $params) { - return call_user_func_array(array($this->getInnerIterator(), $func), $params); - } - - public function append(Iterator $it) { - $this->iterators->append($it); - } - - public function getInnerIterator() { - return $this->iterators->current(); - } - - public function rewind() { - $this->iterators->rewind(); - - if ($this->iterators->valid()) { - $this->getInnerIterator()->rewind(); - } - } - - public function valid() { - return $this->iterators->valid() && $this->getInnerIterator()->valid(); - } - - public function current() { - return $this->iterators->valid() ? $this->getInnerIterator()->current() : NULL; - } - - public function key() { - return $this->iterators->valid() ? $this->getInnerIterator()->key() : NULL; - } - - public function next() { - if (!$this->iterators->valid()) return; - $this->getInnerIterator()->next(); - - if ($this->getInnerIterator()->valid()) return; - $this->iterators->next(); - - while ($this->iterators->valid()) { - $this->getInnerIterator()->rewind(); - - if ($this->getInnerIterator()->valid()) return; - $this->iterators->next(); - } - } - } -} - -require_once 'PHPUnit2/Runner/TestCollector.php'; - -require_once 'PEAR/Config.php'; - -/** - * An implementation of a TestCollector that consults the - * include path set in the php.ini. - * - * @category Testing - * @package PHPUnit2 - * @author Sebastian Bergmann <sb@sebastian-bergmann.de> - * @copyright 2002-2006 Sebastian Bergmann <sb@sebastian-bergmann.de> - * @license http://www.opensource.org/licenses/bsd-license.php BSD License - * @version Release: @package_version@ - * @link http://pear.php.net/package/PHPUnit2 - * @since Class available since Release 2.1.0 - */ - -class PHPUnit2_Runner_IncludePathTestCollector implements PHPUnit2_Runner_TestCollector { - /** - * @return array - * @access public - */ - public function collectTests() { - $config = new PEAR_Config; - $iterator = new AppendIterator; - $result = array(); - - if (substr(PHP_OS, 0, 3) == 'WIN') { - $delimiter = ';'; - } else { - $delimiter = ':'; - } - - $paths = explode($delimiter, ini_get('include_path')); - $paths[] = $config->get('test_dir'); - - foreach ($paths as $path) { - $iterator->append( - new RecursiveIteratorIterator( - new RecursiveDirectoryIterator($path) - ) - ); - } - - foreach ($iterator as $path => $file) { - if ($this->isTestClass($file)) { - if (substr(PHP_OS, 0, 3) == 'WIN') { - $path = str_replace('/', '\\', $path); - } - - $result[] = $path; - } - } - - return $result; - } - - /** - * Considers a file to contain a test class when it contains the - * pattern "Test" in its name and its name ends with ".php". - * - * @param string $classFileName - * @return boolean - * @access protected - */ - protected function isTestClass($classFileName) { - return (strpos($classFileName, 'Test') !== FALSE && substr($classFileName, -4) == '.php') ? TRUE : FALSE; - } -} - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * c-hanging-comment-ender-p: nil - * End: - */ -?> |