ILIAS  release_8 Revision v8.24
ilServicesCertificateSuite.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 ilServicesCertificateSuite extends TestSuite
30{
34 public static function suite(): ilServicesCertificateSuite
35 {
36 $suite = new self();
37
38 $recursiveIteratorIterator = new RecursiveIteratorIterator(
39 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
40 RecursiveIteratorIterator::LEAVES_ONLY
41 );
42
43 $regexIterator = new RegExIterator($recursiveIteratorIterator, '/(?<!Base)Test\.php$/');
44
45 foreach ($regexIterator as $file) {
47 require_once $file->getPathname();
48
49 $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
50
51 if (class_exists($className)) {
52 $reflection = new ReflectionClass($className);
53 if (
54 !$reflection->isAbstract() &&
55 !$reflection->isInterface() &&
56 $reflection->isSubclassOf(TestCase::class)) {
57 $suite->addTestSuite($className);
58 }
59 }
60 }
61
62 return $suite;
63 }
64}