/** * Returns an array with the names of all available test suites which are children of $suite * * @param ezpTestSuite $suite * @return array */ protected function getSuites(ezpTestSuite $suite) { $suites = array(); /** @var PHPUnit_Framework_Test[]|ezpTestSuite[] $tests */ $tests = $suite->tests(); foreach ($tests as $test) { $reflectionClass = new ReflectionClass($test); if ($reflectionClass->isSubclassOf('PHPUnit_Framework_TestSuite')) { $suites[] = $reflectionClass->getName(); } if ($reflectionClass->isSubclassOf('ezpTestSuite')) { $suites = array_merge($suites, $this->getSuites($test)); } } sort($suites); return $suites; }