ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilModulesForumSuite.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
23 
24 require_once __DIR__ . '/bootstrap.php';
25 
31 {
35  public static function suite(): self
36  {
37  $suite = new self();
38 
39  foreach (new RegExIterator(
41  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
42  RecursiveIteratorIterator::LEAVES_ONLY
43  ),
44  '/BaseTest\.php$/'
45  ) as $file) {
47  require_once $file->getPathname();
48  }
49 
50  foreach (new RegExIterator(
52  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
53  RecursiveIteratorIterator::LEAVES_ONLY
54  ),
55  '/(?<!Base)Test\.php$/'
56  ) as $file) {
58  require_once $file->getPathname();
59 
60  $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
61  if (class_exists($className)) {
62  $reflection = new ReflectionClass($className);
63  if (
64  !$reflection->isAbstract() &&
65  !$reflection->isInterface() &&
66  $reflection->isSubclassOf(TestCase::class)) {
67  $suite->addTestSuite($className);
68  }
69  }
70  }
71 
72  return $suite;
73  }
74 }
Class ilModulesForumSuite.