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