ILIAS  release_8 Revision v8.24
ilBuddySystemTestSuite.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21use PHPUnit\Framework\TestSuite;
22use PHPUnit\Framework\TestCase;
23
24require_once __DIR__ . '/bootstrap.php';
25
29class ilBuddySystemTestSuite extends TestSuite
30{
31 public static function suite(): self
32 {
33 if (!defined('ANONYMOUS_USER_ID')) {
34 define('ANONYMOUS_USER_ID', 13);
35 }
36
37 require_once __DIR__ . '/ilBuddySystemBaseTest.php';
38
39 $suite = new self();
40
41 foreach (new RegExIterator(
42 new RecursiveIteratorIterator(
43 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
44 RecursiveIteratorIterator::LEAVES_ONLY
45 ),
46 '/BaseTest\.php$/'
47 ) as $file
48 ) {
50 require_once $file->getPathname();
51 }
52
53 foreach (new RegExIterator(
54 new RecursiveIteratorIterator(
55 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
56 RecursiveIteratorIterator::LEAVES_ONLY
57 ),
58 '/(?<!Base)Test\.php$/'
59 ) as $file) {
61 require_once $file->getPathname();
62
63 $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
64 if (class_exists($className)) {
65 $reflection = new ReflectionClass($className);
66 if (
67 !$reflection->isAbstract() &&
68 !$reflection->isInterface() &&
69 $reflection->isSubclassOf(TestCase::class)
70 ) {
71 $suite->addTestSuite($className);
72 }
73 }
74 }
75
76 return $suite;
77 }
78}