/** * Scans the now complete ignore list, and adds * all parent classes to the list. If a class * is not a runnable test case, then it's parents * wouldn't be either. This is syntactic sugar * to cut down on ommissions of ignore()'s or * missing abstract declarations. This cannot * be done whilst loading classes wiithout forcing * a particular order on the class declarations and * the ignore() calls. It's just nice to have the ignore() * calls at the top of the file before the actual declarations. * @param array $classes Class names of interest. * @static * @access public */ function ignoreParentsIfIgnored($classes) { $registry = &SimpleTest::_getRegistry(); foreach ($classes as $class) { if (SimpleTest::isIgnored($class)) { $reflection = new SimpleReflection($class); if ($parent = $reflection->getParent()) { SimpleTest::ignore($parent); } } } }
/** * Scans the now complete ignore list, and adds * all parent classes to the list. If a class * is not a runnable test case, then it's parents * wouldn't be either. This is syntactic sugar * to cut down on ommissions of ignore()'s or * missing abstract declarations. This cannot * be done whilst loading classes wiithout forcing * a particular order on the class declarations and * the ignore() calls. It's just nice to have the ignore() * calls at the top of the file before the actual declarations. * @param array $classes Class names of interest. */ public static function ignoreParentsIfIgnored($classes) { foreach ($classes as $class) { if (SimpleTest::isIgnored($class)) { $reflection = new SimpleReflection($class); $parent = $reflection->getParent(); if ($parent) { SimpleTest::ignore($parent); } } } }
/** * Number of contained test cases. * @return integer Total count of cases in the group. * @access public */ function getSize() { $count = 0; foreach ($this->_test_cases as $case) { if (is_string($case)) { if (! SimpleTest::isIgnored($case)) { $count++; } } else { $count += $case->getSize(); } } return $count; }
/** * Builds a test suite from a class list. * @param string $title Title of new group. * @param array $classes Test classes. * @return TestSuite Group loaded with the new * test cases. * @access public */ function &createSuiteFromClasses($title, $classes) { if (count($classes) == 0) { $suite =& new BadTestSuite($title, "No runnable test cases in [{$title}]"); return $suite; } SimpleTest::ignoreParentsIfIgnored($classes); $suite =& new TestSuite($title); foreach ($classes as $class) { if (!SimpleTest::isIgnored($class)) { $suite->addTestClass($class); } } return $suite; }
function _createGroupFromClasses($title, $classes) { $group = new GroupTest($title); foreach ($classes as $class) { if (SimpleTest::isIgnored($class)) { continue; } $group->addTestClass($class); } return $group; }
/** * Builds a group test from a class list. * @param string $title Title of new group. * @param array $classes Test classes. * @return GroupTest Group loaded with the new * test cases. * @access private */ function &_createGroupFromClasses($title, $classes) { SimpleTest::ignoreParentsIfIgnored($classes); $group = new GroupTest($title); foreach ($classes as $class) { if (!SimpleTest::isIgnored($class)) { $group->addTestClass($class); } } return $group; }
function testNotRunningExtendedTestCase() { $this->assertTrue(SimpleTest::isIgnored('ExtendedTestCase')); }