ILIAS  release_8 Revision v8.24
ilServicesMailSuite.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
28class ilServicesMailSuite 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) {
45 require_once $file->getPathname();
46 }
47
48 foreach (new RegExIterator(
49 new RecursiveIteratorIterator(
50 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
51 RecursiveIteratorIterator::LEAVES_ONLY
52 ),
53 '/(?<!Base)Test\.php$/'
54 ) as $file) {
56 require_once $file->getPathname();
57
58 $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
59 if (class_exists($className)) {
60 $reflection = new ReflectionClass($className);
61 if (
62 !$reflection->isAbstract() &&
63 !$reflection->isInterface() &&
64 $reflection->isSubclassOf(TestCase::class)) {
65 $suite->addTestSuite($className);
66 }
67 }
68 }
69
70 return $suite;
71 }
72}
Class ilServicesMailSuite.