ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilServicesMailSuite.php
Go to the documentation of this file.
1 <?php declare(strict_types=1);
2 
3 /* Copyright (c) 1998-2015 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
7 
8 require_once __DIR__ . '/bootstrap.php';
9 
14 class ilServicesMailSuite extends TestSuite
15 {
20  public static function suite() : self
21  {
22  $suite = new self();
23 
24  foreach (new RegExIterator(
26  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
27  RecursiveIteratorIterator::LEAVES_ONLY
28  ),
29  '/BaseTest\.php$/'
30  ) as $file) {
32  require_once $file->getPathname();
33  }
34 
35  foreach (new RegExIterator(
37  new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
38  RecursiveIteratorIterator::LEAVES_ONLY
39  ),
40  '/(?<!Base)Test\.php$/'
41  ) as $file) {
43  require_once $file->getPathname();
44 
45  $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
46  if (class_exists($className)) {
47  $reflection = new ReflectionClass($className);
48  if (
49  !$reflection->isAbstract() &&
50  !$reflection->isInterface() &&
51  $reflection->isSubclassOf(TestCase::class)) {
52  $suite->addTestSuite($className);
53  }
54  }
55  }
56 
57  return $suite;
58  }
59 }
$suite
Class ilServicesMailSuite.