ILIAS  release_8 Revision v8.24
ilServicesTermsOfServiceSuite.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
30class ilServicesTermsOfServiceSuite extends TestSuite
31{
32 public static function suite(): self
33 {
34 $suite = new self();
35
36 foreach (new RegExIterator(
37 new RecursiveIteratorIterator(
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(
48 new RecursiveIteratorIterator(
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.