ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilModulesContentPageSuite.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 {
36  public static function suite(): self
37  {
38  $suite = new self();
39 
40  foreach (new RegExIterator(
42  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
43  RecursiveIteratorIterator::LEAVES_ONLY
44  ),
45  '/BaseTest\.php$/'
46  ) as $file) {
48  require_once $file->getPathname();
49  }
50 
51  foreach (new RegExIterator(
53  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
54  RecursiveIteratorIterator::LEAVES_ONLY
55  ),
56  '/(?<!Base)Test\.php$/'
57  ) as $file) {
59  require_once $file->getPathname();
60 
61  $className = 'ILIAS\\ContentPage\\' . preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
62  if (class_exists($className)) {
63  $reflection = new ReflectionClass($className);
64  if (
65  !$reflection->isAbstract() &&
66  !$reflection->isInterface() &&
67  $reflection->isSubclassOf(TestCase::class)) {
68  $suite->addTestSuite($className);
69  }
70  }
71  }
72 
73  return $suite;
74  }
75 }
Class ilModulesContentPageSuite.