ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilServicesTermsOfServiceSuite.php
Go to the documentation of this file.
1 <?php declare(strict_types=1);
2 /* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
6 
7 require_once __DIR__ . '/bootstrap.php';
8 
13 class ilServicesTermsOfServiceSuite extends TestSuite
14 {
19  public static function suite() : self
20  {
21  $suite = new self();
22 
23  foreach (new RegExIterator(
25  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
26  RecursiveIteratorIterator::LEAVES_ONLY
27  ),
28  '/BaseTest\.php$/'
29  ) as $file) {
31  require_once $file->getPathname();
32  }
33 
34  foreach (new RegExIterator(
36  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
37  RecursiveIteratorIterator::LEAVES_ONLY
38  ),
39  '/(?<!Base)Test\.php$/'
40  ) as $file) {
42  require_once $file->getPathname();
43 
44  $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
45  if (class_exists($className)) {
46  $reflection = new ReflectionClass($className);
47  if (
48  !$reflection->isAbstract() &&
49  !$reflection->isInterface() &&
50  $reflection->isSubclassOf(TestCase::class)) {
51  $suite->addTestSuite($className);
52  }
53  }
54  }
55 
56  return $suite;
57  }
58 }
$suite
Class ilServicesTermsOfServiceSuite.