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