ILIAS  release_8 Revision v8.24
ilModulesScorm2004Suite.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
21use PHPUnit\Framework\TestSuite;
22use PHPUnit\Framework\TestCase;
23
28class ilModulesScorm2004Suite extends TestSuite
29{
33 public static function suite(): self
34 {
35 if (!defined("ILIAS_HTTP_PATH")) {
36 define("ILIAS_HTTP_PATH", "http://localhost");
37 }
38
39 if (!defined("DEBUG")) {
40 define("DEBUG", false);
41 }
42
43 if (!defined("ILIAS_LOG_ENABLED")) {
44 define("ILIAS_LOG_ENABLED", false);
45 }
46
47 if (!defined("ROOT_FOLDER_ID")) {
48 define("ROOT_FOLDER_ID", 1);
49 }
50
51 if (!defined("IL_INST_ID")) {
52 define("IL_INST_ID", 0);
53 }
54 if (!defined("CLIENT_DATA_DIR")) {
55 define("CLIENT_DATA_DIR", "/tmp");
56 }
57
58 if (!defined("CLIENT_ID")) {
59 define("CLIENT_ID", 1);
60 }
61
62 if (!defined('ANONYMOUS_USER_ID')) {
63 define('ANONYMOUS_USER_ID', 13);
64 }
65
66 if (defined('ILIAS_PHPUNIT_CONTEXT')) {
67// include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
68// ilUnitUtil::performInitialisation();
69 } else {
70 chdir(__DIR__);
71 chdir('../../../');
72 }
73
74 $suite = new self();
75
76 foreach (new RegExIterator(
77 new RecursiveIteratorIterator(
78 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
79 RecursiveIteratorIterator::LEAVES_ONLY
80 ),
81 '/BaseTest\.php$/'
82 ) as $file) {
83 }
84
85 foreach (new RegExIterator(
86 new RecursiveIteratorIterator(
87 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
88 RecursiveIteratorIterator::LEAVES_ONLY
89 ),
90 '/(?<!Base)Test\.php$/'
91 ) as $file) {
92 $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
93 if (class_exists($className)) {
94 $reflection = new ReflectionClass($className);
95 if (
96 !$reflection->isAbstract() &&
97 !$reflection->isInterface() &&
98 $reflection->isSubclassOf(TestCase::class)) {
99 $suite->addTestSuite($className);
100 }
101 }
102 }
103 return $suite;
104 }
105}
Class ilModulesScorm2004Suite.