ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilServicesCertificateSuite.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
4use PHPUnit\Framework\TestCase;
5
6require_once __DIR__ . '/bootstrap.php';
7
11class ilServicesCertificateSuite extends TestSuite
12{
16 public static function suite()
17 {
18 $suite = new self();
19
20 $recursiveIteratorIterator = new \RecursiveIteratorIterator(
21 new \RecursiveDirectoryIterator(__DIR__, \FilesystemIterator::SKIP_DOTS),
22 \RecursiveIteratorIterator::LEAVES_ONLY
23 );
24
25 $regexIterator = new \RegExIterator($recursiveIteratorIterator, '/(?<!Base)Test\.php$/');
26
27 foreach ($regexIterator as $file) {
29 require_once $file->getPathname();
30
31 $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
32
33 if (class_exists($className)) {
34 $reflection = new \ReflectionClass($className);
35 if (
36 !$reflection->isAbstract() &&
37 !$reflection->isInterface() &&
38 $reflection->isSubclassOf(TestCase::class)) {
39 $suite->addTestSuite($className);
40 }
41 }
42 }
43
44 return $suite;
45 }
46}
$suite
An exception for terminatinating execution or to throw for unit testing.