3declare(strict_types=1);
 
   21use PHPUnit\Framework\TestSuite;
 
   22use PHPUnit\Framework\TestCase;
 
   33    public static function suite(): self
 
   35        if (!defined(
"ILIAS_HTTP_PATH")) {
 
   36            define(
"ILIAS_HTTP_PATH", 
"http://localhost");
 
   39        if (!defined(
"DEBUG")) {
 
   40            define(
"DEBUG", 
false);
 
   43        if (!defined(
"ILIAS_LOG_ENABLED")) {
 
   44            define(
"ILIAS_LOG_ENABLED", 
false);
 
   47        if (!defined(
"ROOT_FOLDER_ID")) {
 
   48            define(
"ROOT_FOLDER_ID", 1);
 
   51        if (!defined(
"IL_INST_ID")) {
 
   52            define(
"IL_INST_ID", 0);
 
   54        if (!defined(
"CLIENT_DATA_DIR")) {
 
   55            define(
"CLIENT_DATA_DIR", 
"/tmp");
 
   58        if (!defined(
"CLIENT_ID")) {
 
   59            define(
"CLIENT_ID", 1);
 
   62        if (!defined(
'ANONYMOUS_USER_ID')) {
 
   63            define(
'ANONYMOUS_USER_ID', 13);
 
   66        if (defined(
'ILIAS_PHPUNIT_CONTEXT')) {
 
   76        foreach (
new RegExIterator(
 
   77            new RecursiveIteratorIterator(
 
   78                new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
 
   79                RecursiveIteratorIterator::LEAVES_ONLY
 
   85        foreach (
new RegExIterator(
 
   86            new RecursiveIteratorIterator(
 
   87                new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
 
   88                RecursiveIteratorIterator::LEAVES_ONLY
 
   90            '/(?<!Base)Test\.php$/' 
   92            $className = preg_replace(
'/(.*?)(\.php)/', 
'$1', $file->getBasename());
 
   93            if (class_exists($className)) {
 
   94                $reflection = 
new ReflectionClass($className);
 
   96                    !$reflection->isAbstract() &&
 
   97                    !$reflection->isInterface() &&
 
   98                    $reflection->isSubclassOf(TestCase::class)) {
 
   99                    $suite->addTestSuite($className);
 
Class ilModulesScorm2004Suite.