ILIAS  release_8 Revision v8.24
ilServicesQTISuite.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
22use PHPUnit\Framework\TestSuite;
23
24require_once __DIR__ . '/bootstrap.php';
25
29class ilServicesQTISuite extends TestSuite
30{
31 public static function suite(): self
32 {
33 $suite = new self();
34
35 $dir = __DIR__;
36 $classes = [];
37
38 $files = new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS);
39 $files = new RecursiveIteratorIterator($files, RecursiveIteratorIterator::LEAVES_ONLY);
40 $files = new RegExIterator($files, '/\.php$/');
41
42 foreach ($files as $file) {
43 $file = $file->getPathname();
44 $className = preg_replace(['@^.*/@', '/^class./', '/\.php$/'], '', $file);
45 require_once $file;
46 $classes[] = $className;
47 }
48 array_map([$suite, 'addTestSuite'], array_filter(array_filter($classes, 'class_exists'), [self::class, 'notSelf']));
49
50 return $suite;
51 }
52
53 private static function notSelf(string $className): bool
54 {
55 return self::class !== $className;
56 }
57}
static notSelf(string $className)