ILIAS  release_8 Revision v8.24
ilModulesContentPageSuite.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 ilModulesContentPageSuite extends TestSuite
31{
36 public static function suite(): self
37 {
38 $suite = new self();
39
40 foreach (new RegExIterator(
41 new RecursiveIteratorIterator(
42 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
43 RecursiveIteratorIterator::LEAVES_ONLY
44 ),
45 '/BaseTest\.php$/'
46 ) as $file) {
48 require_once $file->getPathname();
49 }
50
51 foreach (new RegExIterator(
52 new RecursiveIteratorIterator(
53 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
54 RecursiveIteratorIterator::LEAVES_ONLY
55 ),
56 '/(?<!Base)Test\.php$/'
57 ) as $file) {
59 require_once $file->getPathname();
60
61 $className = 'ILIAS\\ContentPage\\' . preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
62 if (class_exists($className)) {
63 $reflection = new ReflectionClass($className);
64 if (
65 !$reflection->isAbstract() &&
66 !$reflection->isInterface() &&
67 $reflection->isSubclassOf(TestCase::class)) {
68 $suite->addTestSuite($className);
69 }
70 }
71 }
72
73 return $suite;
74 }
75}
Class ilModulesContentPageSuite.