예제 #1
0
 /**
  *    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);
             }
         }
     }
 }
예제 #2
0
 /**
  *    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);
             }
         }
     }
 }
예제 #3
0
파일: test_case.php 프로젝트: nuckey/moodle
 /**
  *    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;
 }
예제 #4
0
 /**
  *    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;
 }
예제 #5
0
 function _createGroupFromClasses($title, $classes)
 {
     $group = new GroupTest($title);
     foreach ($classes as $class) {
         if (SimpleTest::isIgnored($class)) {
             continue;
         }
         $group->addTestClass($class);
     }
     return $group;
 }
예제 #6
0
 /**
  *    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'));
 }