|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / a / home / dev2.destoffenstraat.com / vendor / phpunit / phpunit / src / Runner / |
Filename | /home/a/home/dev2.destoffenstraat.com/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php |
Size | 3.38 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 01-Feb-2019 06:22 |
Last accessed | 23-Aug-2025 07:04 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Runner;
use PHPUnit\Framework\TestCase;
use PHPUnit\Util\Fileloader;
use PHPUnit\Util\Filesystem;
use ReflectionClass;
/**
* The standard test suite loader.
*/
class StandardTestSuiteLoader implements TestSuiteLoader
{
/**
* @param string $suiteClassName
* @param string $suiteClassFile
*
* @return ReflectionClass
*
* @throws Exception
*/
public function load($suiteClassName, $suiteClassFile = '')
{
$suiteClassName = \str_replace('.php', '', $suiteClassName);
if (empty($suiteClassFile)) {
$suiteClassFile = Filesystem::classNameToFilename(
$suiteClassName
);
}
if (!\class_exists($suiteClassName, false)) {
$loadedClasses = \get_declared_classes();
$filename = Fileloader::checkAndLoad($suiteClassFile);
$loadedClasses = \array_values(
\array_diff(\get_declared_classes(), $loadedClasses)
);
}
if (!\class_exists($suiteClassName, false) && !empty($loadedClasses)) {
$offset = 0 - \strlen($suiteClassName);
foreach ($loadedClasses as $loadedClass) {
$class = new ReflectionClass($loadedClass);
if (\substr($loadedClass, $offset) === $suiteClassName &&
$class->getFileName() == $filename) {
$suiteClassName = $loadedClass;
break;
}
}
}
if (!\class_exists($suiteClassName, false) && !empty($loadedClasses)) {
$testCaseClass = TestCase::class;
foreach ($loadedClasses as $loadedClass) {
$class = new ReflectionClass($loadedClass);
$classFile = $class->getFileName();
if ($class->isSubclassOf($testCaseClass) && !$class->isAbstract()) {
$suiteClassName = $loadedClass;
$testCaseClass = $loadedClass;
if ($classFile == \realpath($suiteClassFile)) {
break;
}
}
if ($class->hasMethod('suite')) {
$method = $class->getMethod('suite');
if (!$method->isAbstract() && $method->isPublic() && $method->isStatic()) {
$suiteClassName = $loadedClass;
if ($classFile == \realpath($suiteClassFile)) {
break;
}
}
}
}
}
if (\class_exists($suiteClassName, false)) {
$class = new ReflectionClass($suiteClassName);
if ($class->getFileName() == \realpath($suiteClassFile)) {
return $class;
}
}
throw new Exception(
\sprintf(
"Class '%s' could not be found in '%s'.",
$suiteClassName,
$suiteClassFile
)
);
}
/**
* @param ReflectionClass $aClass
*
* @return ReflectionClass
*/
public function reload(ReflectionClass $aClass)
{
return $aClass;
}
}
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Runner;
use PHPUnit\Framework\TestCase;
use PHPUnit\Util\Fileloader;
use PHPUnit\Util\Filesystem;
use ReflectionClass;
/**
* The standard test suite loader.
*/
class StandardTestSuiteLoader implements TestSuiteLoader
{
/**
* @param string $suiteClassName
* @param string $suiteClassFile
*
* @return ReflectionClass
*
* @throws Exception
*/
public function load($suiteClassName, $suiteClassFile = '')
{
$suiteClassName = \str_replace('.php', '', $suiteClassName);
if (empty($suiteClassFile)) {
$suiteClassFile = Filesystem::classNameToFilename(
$suiteClassName
);
}
if (!\class_exists($suiteClassName, false)) {
$loadedClasses = \get_declared_classes();
$filename = Fileloader::checkAndLoad($suiteClassFile);
$loadedClasses = \array_values(
\array_diff(\get_declared_classes(), $loadedClasses)
);
}
if (!\class_exists($suiteClassName, false) && !empty($loadedClasses)) {
$offset = 0 - \strlen($suiteClassName);
foreach ($loadedClasses as $loadedClass) {
$class = new ReflectionClass($loadedClass);
if (\substr($loadedClass, $offset) === $suiteClassName &&
$class->getFileName() == $filename) {
$suiteClassName = $loadedClass;
break;
}
}
}
if (!\class_exists($suiteClassName, false) && !empty($loadedClasses)) {
$testCaseClass = TestCase::class;
foreach ($loadedClasses as $loadedClass) {
$class = new ReflectionClass($loadedClass);
$classFile = $class->getFileName();
if ($class->isSubclassOf($testCaseClass) && !$class->isAbstract()) {
$suiteClassName = $loadedClass;
$testCaseClass = $loadedClass;
if ($classFile == \realpath($suiteClassFile)) {
break;
}
}
if ($class->hasMethod('suite')) {
$method = $class->getMethod('suite');
if (!$method->isAbstract() && $method->isPublic() && $method->isStatic()) {
$suiteClassName = $loadedClass;
if ($classFile == \realpath($suiteClassFile)) {
break;
}
}
}
}
}
if (\class_exists($suiteClassName, false)) {
$class = new ReflectionClass($suiteClassName);
if ($class->getFileName() == \realpath($suiteClassFile)) {
return $class;
}
}
throw new Exception(
\sprintf(
"Class '%s' could not be found in '%s'.",
$suiteClassName,
$suiteClassFile
)
);
}
/**
* @param ReflectionClass $aClass
*
* @return ReflectionClass
*/
public function reload(ReflectionClass $aClass)
{
return $aClass;
}
}