ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilServicesTermsOfServiceSuite.php
Go to the documentation of this file.
1<?php declare(strict_types=1);
2/* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
3
5use PHPUnit\Framework\TestCase;
6
7require_once __DIR__ . '/bootstrap.php';
8
13class ilServicesTermsOfServiceSuite extends TestSuite
14{
19 public static function suite() : self
20 {
21 $suite = new self();
22
23 foreach (new RegExIterator(
24 new RecursiveIteratorIterator(
25 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
26 RecursiveIteratorIterator::LEAVES_ONLY
27 ),
28 '/BaseTest\.php$/'
29 ) as $file) {
31 require_once $file->getPathname();
32 }
33
34 foreach (new RegExIterator(
35 new RecursiveIteratorIterator(
36 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
37 RecursiveIteratorIterator::LEAVES_ONLY
38 ),
39 '/(?<!Base)Test\.php$/'
40 ) as $file) {
42 require_once $file->getPathname();
43
44 $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
45 if (class_exists($className)) {
46 $reflection = new ReflectionClass($className);
47 if (
48 !$reflection->isAbstract() &&
49 !$reflection->isInterface() &&
50 $reflection->isSubclassOf(TestCase::class)) {
51 $suite->addTestSuite($className);
52 }
53 }
54 }
55
56 return $suite;
57 }
58}
$suite
An exception for terminatinating execution or to throw for unit testing.
Class ilServicesTermsOfServiceSuite.