diff options
author | Mike Macgirvin <mike@macgirvin.com> | 2010-07-05 03:36:10 -0700 |
---|---|---|
committer | Mike Macgirvin <mike@macgirvin.com> | 2010-07-05 03:36:10 -0700 |
commit | 3713a9291cfb5d9fad160abd8f4a167693171998 (patch) | |
tree | 3c17af9f4d13ae97209db48cd4ab614a500b6605 /simplepie/test/unit_test | |
parent | 9f7ae0e95f89b964a098eaacdfd89ff25e05c615 (diff) | |
download | volse-hubzilla-3713a9291cfb5d9fad160abd8f4a167693171998.tar.gz volse-hubzilla-3713a9291cfb5d9fad160abd8f4a167693171998.tar.bz2 volse-hubzilla-3713a9291cfb5d9fad160abd8f4a167693171998.zip |
no need for simplepie test suite
Diffstat (limited to 'simplepie/test/unit_test')
-rw-r--r-- | simplepie/test/unit_test/unit_test.php | 126 | ||||
-rw-r--r-- | simplepie/test/unit_test/unit_test2.php | 630 |
2 files changed, 0 insertions, 756 deletions
diff --git a/simplepie/test/unit_test/unit_test.php b/simplepie/test/unit_test/unit_test.php deleted file mode 100644 index 0a27a3433..000000000 --- a/simplepie/test/unit_test/unit_test.php +++ /dev/null @@ -1,126 +0,0 @@ -<?php - -/** - * @package Unit Test - * @author Geoffrey Sneddon <geoffers@gmail.com> - * @version $Id: unit_test.php 6 2007-04-23 15:15:40Z gsnedders $ - * @license http://www.opensource.org/licenses/zlib-license.php zlib/libpng license - * @license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License - * @copyright Copyright © 2007, Geoffrey Sneddon - */ - -class Unit_Test -{ - var $passed; - var $failed; - var $success_callback; - var $fail_callback; - - function Unit_Test($success, $fail) - { - $this->success_callback = $success; - $this->fail_callback = $fail; - } - - function do_test($callback, $dir, $vars = 'data') - { - $files = $this->get_files($dir); - foreach ($files as $file) - { - $istest = true; - $debug = false; - include $file; - if ($istest) - { - $args = compact($vars); - $result = call_user_func_array($callback, $args); - $this->run_test($file, $result === $expected); - if ($debug) - { - var_dump($file, $args, $result, $expected); - } - } - } - } - - function run_test($file, $success) - { - if ($success) - { - $this->passed++; - call_user_func($this->success_callback, $file); - } - else - { - $this->failed++; - call_user_func($this->fail_callback, $file); - } - } - - function passed() - { - return $this->passed; - } - - function failed() - { - return $this->failed; - } - - function total() - { - return $this->passed + $this->failed; - } - - function get_files($dir) - { - static $extension = null; - if (!$extension) - { - $extension = pathinfo(__FILE__, PATHINFO_EXTENSION); - } - $files = array(); - if ($dh = opendir($dir)) - { - while (($file = readdir($dh)) !== false) - { - if (substr($file, 0, 1) != '.') - { - $files[] = "$dir/$file"; - } - } - closedir($dh); - usort($files, array(&$this, 'sort_files')); - foreach ($files as $file) - { - if (is_dir($file)) - { - array_splice($files, array_search($file, $files), 0, $this->get_files($file)); - } - if (pathinfo($file, PATHINFO_EXTENSION) != $extension) - { - unset($files[array_search($file, $files)]); - } - } - } - return $files; - } - - function sort_files(&$a, &$b) - { - if (is_dir($a) && is_dir($b) || !(is_dir($a) || is_dir($b))) - { - return strnatcasecmp($a, $b); - } - else if (is_dir($a)) - { - return 1; - } - else if (is_dir($b)) - { - return -1; - } - } -} - -?>
\ No newline at end of file diff --git a/simplepie/test/unit_test/unit_test2.php b/simplepie/test/unit_test/unit_test2.php deleted file mode 100644 index 63f9ef257..000000000 --- a/simplepie/test/unit_test/unit_test2.php +++ /dev/null @@ -1,630 +0,0 @@ -<?php - -/** - * @package Unit Test - * @author Geoffrey Sneddon <geoffers@gmail.com> - * @version $Id: unit_test2.php 16 2007-08-08 14:52:36Z gsnedders $ - * @license http://www.opensource.org/licenses/zlib-license.php zlib/libpng license - * @license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License - * @copyright Copyright © 2007, Geoffrey Sneddon - */ - -/** - * Unit Test - * - * @abstract - * @package Unit Test - */ -class Unit_Test2 -{ - /** - * Sets whether this class is a unit test or not - * - * @access protected - * @var bool - */ - var $test = true; - - /** - * Test name - * - * @access protected - * @var mixed - */ - var $name; - - /** - * Test data - * - * @access protected - * @var mixed - */ - var $data; - - /** - * Expected result - * - * @access protected - * @var mixed - */ - var $expected; - - /** - * Test result - * - * @access protected - * @var mixed - */ - var $result; - - /** - * Number of tests passed - * - * @access protected - * @var int - */ - var $passes = 0; - - /** - * Number of tests failed - * - * @access protected - * @var int - */ - var $fails = 0; - - /** - * Set the test name to the class name by default, replacing "_" with " " - */ - function Unit_Test2() - { - $this->name = str_replace('_', ' ', get_class($this)); - } - - /** - * Whether this class is a test - * - * @final - * @access public - * @return bool - */ - function is_test() - { - return (bool) $this->test; - } - - /** - * Test name - * - * @final - * @access public - * @return mixed - */ - function name() - { - return $this->name; - } - - /** - * Number of tests passed - * - * @final - * @access public - * @return int - */ - function passes() - { - return (int) $this->passes; - } - - /** - * Number of tests failed - * - * @final - * @access public - * @return int - */ - function fails() - { - return (int) $this->fails; - } - - /** - * Total number of tests - * - * @final - * @access public - * @return int - */ - function total() - { - return $this->passes() + $this->fails(); - } - - /** - * Run the test - * - * @final - * @access public - */ - function run() - { - $this->init(); - $this->data(); - $this->expected(); - $this->test(); - $this->result(); - } - - /** - * First method called when running the test - * - * This isn't defined as abstract as it's optional - * - * @access protected - */ - function init() - { - } - - /** - * Set Unit_Test2::$data - * - * @abstract - * @access protected - * @see Unit_Test2::$data - */ - function data() - { - } - - /** - * Set Unit_Test2::$expected - * - * @abstract - * @access protected - * @see Unit_Test2::$expected - */ - function expected() - { - } - - /** - * Actually run the test (should set Unit_Test::$result) - * - * @abstract - * @access protected - * @see Unit_Test2::$result - */ - function test() - { - } - - /** - * Check whether the result is valid (should call Unit_Test2::pass() or Unit_Test2::fail()) - * - * @abstract - * @access protected - * @see Unit_Test2::$expected - * @see Unit_Test2::$result - */ - function result() - { - } - - /** - * Process a pass - * - * @access protected - */ - function pass() - { - $this->passes++; - } - - /** - * Process a fail - * - * @access protected - */ - function fail() - { - $this->fails++; - } -} - -/** - * Unit Test Group - * - * @package Unit Test - */ -class Unit_Test2_Group -{ - /** - * Unit Test Group Name - * - * @access protected - * @var mixed - */ - var $name; - - /** - * Tests - * - * @access protected - * @var array - */ - var $tests = array(array()); - - /** - * Number of tests passed - * - * @access protected - * @var int - */ - var $passes = 0; - - /** - * Number of tests failed - * - * @access protected - * @var int - */ - var $fails = 0; - - /** - * Time taken to run tests - * - * @access protected - * @var float - */ - var $time = 0.0; - - /** - * Create Unit Test Group - * - * @access public - * @param string $name Unit Test Group Name - */ - function Unit_Test2_Group($name) - { - $this->name = $name; - } - - /** - * Unit Test Group Name - * - * @final - * @access public - * @return mixed - */ - function name() - { - return $this->name; - } - - /** - * Number of tests passed - * - * @final - * @access public - * @return int - */ - function passes() - { - return (int) $this->passes; - } - - /** - * Number of tests failed - * - * @final - * @access public - * @return int - */ - function fails() - { - return (int) $this->fails; - } - - /** - * Total number of tests - * - * @final - * @access public - * @return int - */ - function total() - { - return $this->passes() + $this->fails(); - } - - /** - * Time to run tests - * - * @final - * @access public - * @return float - */ - function time() - { - return (float) $this->time; - } - - /** - * Add a test (a Unit_Test2 child, or a Unit_Test2_Group) - * - * @access public - * @param object $test Test to add - */ - function add($test) - { - $this->tests[$test->name()][] = $test; - } - - /** - * Remove a test - * - * @access public - * @param string $name Test name - */ - function remove($name) - { - unset($this->tests[$name]); - } - - /** - * Load tests in folder - * - * This loads all the Unit_Test2 classes within files with the same - * extension as this file within the specified folder - * - * @access public - * @param string $folder Folder name - */ - function load_folder($folder) - { - static $extension = null; - if (!$extension) - { - $extension = pathinfo(__FILE__, PATHINFO_EXTENSION); - } - $files = Unit_Test2_Files::get_files($folder); - $count_classes = count(get_declared_classes()); - foreach ($files as $file) - { - if (is_file($file) && pathinfo($file, PATHINFO_EXTENSION) === $extension) - { - include $file; - } - } - $classes = array_slice(get_declared_classes(), $count_classes); - foreach ($classes as $class) - { - if ($this->is_subclass_of($class, 'Unit_Test2')) - { - $class = new $class; - if ($class->is_test()) - { - $this->add($class); - } - } - } - } - - /** - * Run the tests - * - * @access public - */ - function run() - { - $this->pre(); - $start_time = $this->microtime(true); - foreach ($this->tests as $tests) - { - foreach ($tests as $test) - { - if ($this->is_a($test, 'Unit_Test2') || $this->is_a($test, 'Unit_Test2_Group')) - { - $test->run(); - $this->passes += $test->passes(); - $this->fails += $test->fails(); - } - } - } - $this->time = $this->microtime(true) - $start_time; - $this->post(); - } - - /** - * Executed before the tests are executed - * - * @abstract - * @access protected - */ - function pre() - { - } - - /** - * Executed after the tests are executed - * - * @abstract - * @access protected - */ - function post() - { - } - - /** - * Re-implementation of PHP 5.0.3's is_subclass_of() - * - * @access public - * @param mixed $object - * @param string $class_name - */ - function is_subclass_of($object, $class_name) - { - if (func_num_args() != 2) - { - trigger_error('Wrong parameter count for SimplePie_Misc::is_subclass_of()', E_USER_WARNING); - } - else - { - if (version_compare(phpversion(), '5.0.3', '>=') || is_object($object)) - { - return is_subclass_of($object, $class_name); - } - else if (is_string($object) && is_string($class_name)) - { - if (class_exists($object)) - { - if (class_exists($class_name)) - { - $class_name = strtolower($class_name); - while ($object = strtolower(get_parent_class($object))) - { - if ($object == $class_name) - { - return true; - } - } - } - } - else - { - trigger_error('Unknown class passed as parameter', E_USER_WARNNG); - } - } - return false; - } - } - - /** - * Re-implementation of PHP 4.2.0's is_a() - * - * @access public - * @param object $object The tested object - * @param string $class_name The class name - * @return bool Returns true if the object is of this class or has this class as one of its parents, false otherwise - */ - function is_a($object, $class_name) - { - if (function_exists('is_a')) - { - return is_a($object, $class_name); - } - elseif (!is_object($object)) - { - return false; - } - elseif (get_class($object) == strtolower($class_name)) - { - return true; - } - else - { - return is_subclass_of($object, $class_name); - } - } - - /** - * Re-implementation of PHP 5's microtime() - * - * @access public - * @param bool $get_as_float - */ - function microtime($get_as_float = false) - { - if ($get_as_float) - { - if (is_float($time = microtime(true))) - { - return $time; - } - else - { - list($user, $sec) = explode(' ', $time); - return ((float) $user + (float) $sec); - } - } - else - { - // PHP6 will likely return a float by default, so explicitly pass false (this is just ignored under PHP < 5) - return microtime(false); - } - } -} - -/** - * File listing class - * - * @package Unit Test - */ -class Unit_Test2_Files -{ - /** - * Get a list of files/folders within $dir - * - * @static - * @access public - * @param string $dir Folder to get listing for - * @return array - */ - function get_files($dir) - { - $files = array(); - if ($dh = opendir($dir)) - { - while (($file = readdir($dh)) !== false) - { - if (substr($file, 0, 1) != '.') - { - $files[] = "$dir/$file"; - } - } - closedir($dh); - usort($files, array(__CLASS__, 'sort_files')); - foreach ($files as $file) - { - if (is_dir($file)) - { - array_splice($files, array_search($file, $files), 0, Unit_Test2_Files::get_files($file)); - } - } - } - return $files; - } - - /** - * Sort files/folders with files listed before inner folders - * - * @static - * @access public - * @param string $a File/folder 1 - * @param string $b File/folder 2 - * @return int - */ - function sort_files($a, $b) - { - if (is_dir($a) && is_dir($b)) - { - return strnatcmp($a, $b); - } - else if (is_dir($a)) - { - return 1; - } - else if (is_dir($b)) - { - return -1; - } - else - { - return strnatcmp($a, $b); - } - } -} - -?>
\ No newline at end of file |