ILIAS  release_8 Revision v8.24
ilModulesLTIConsumerSuite.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
21use PHPUnit\Framework\TestSuite;
22use PHPUnit\Framework\TestCase;
23
28class ilModulesLTIConsumerSuite extends TestSuite
29{
33 public static function suite(): self
34 {
35 $suite = new self();
36
37 foreach (new RegExIterator(
38 new RecursiveIteratorIterator(
39 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
40 RecursiveIteratorIterator::LEAVES_ONLY
41 ),
42 '/BaseTest\.php$/'
43 ) as $file) {
44 }
45
46 foreach (new RegExIterator(
47 new RecursiveIteratorIterator(
48 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
49 RecursiveIteratorIterator::LEAVES_ONLY
50 ),
51 '/(?<!Base)Test\.php$/'
52 ) as $file) {
53 $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
54 if (class_exists($className)) {
55 $reflection = new ReflectionClass($className);
56 if (
57 !$reflection->isAbstract() &&
58 !$reflection->isInterface() &&
59 $reflection->isSubclassOf(TestCase::class)) {
60 $suite->addTestSuite($className);
61 }
62 }
63 }
64 return $suite;
65 }
66}
Class ilModulesLTIConsumerSuite.