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