ILIAS  release_8 Revision v8.23
ilServicesTermsOfServiceSuite.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 {
32  public static function suite(): self
33  {
34  $suite = new self();
35 
36  foreach (new RegExIterator(
38  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
39  RecursiveIteratorIterator::LEAVES_ONLY
40  ),
41  '/BaseTest\.php$/'
42  ) as $file) {
44  require_once $file->getPathname();
45  }
46 
47  foreach (new RegExIterator(
49  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
50  RecursiveIteratorIterator::LEAVES_ONLY
51  ),
52  '/(?<!Base)Test\.php$/'
53  ) as $file) {
55  require_once $file->getPathname();
56 
57  $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
58  if (class_exists($className)) {
59  $reflection = new ReflectionClass($className);
60  if (
61  !$reflection->isAbstract() &&
62  !$reflection->isInterface() &&
63  $reflection->isSubclassOf(TestCase::class)) {
64  $suite->addTestSuite($className);
65  }
66  }
67  }
68 
69  return $suite;
70  }
71 }
Class ilServicesTermsOfServiceSuite.