ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilModulesScormAICCSuite.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
23 
29 {
33  public static function suite(): self
34  {
35  $suite = new self();
36 
37  foreach (new RegExIterator(
39  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
40  RecursiveIteratorIterator::LEAVES_ONLY
41  ),
42  '/BaseTest\.php$/'
43  ) as $file) {
44  }
45 
46  foreach (new RegExIterator(
48  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
49  RecursiveIteratorIterator::LEAVES_ONLY
50  ),
51  '/(?<!Base)Test\.php$/'
52  ) as $file) {
53  $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
54  if (class_exists($className)) {
55  $reflection = new ReflectionClass($className);
56  if (
57  !$reflection->isAbstract() &&
58  !$reflection->isInterface() &&
59  $reflection->isSubclassOf(TestCase::class)) {
60  $suite->addTestSuite($className);
61  }
62  }
63  }
64  return $suite;
65  }
66 }
Class ilModulesScormAICCSuite.