Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. TestSuiteLoader.php

function TestSuiteLoader::load

Throws

Exception

File

vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php, line 44

Class

TestSuiteLoader
@no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit

Namespace

PHPUnit\Runner

Code

public function load(string $suiteClassFile) : ReflectionClass {
    $suiteClassFile = realpath($suiteClassFile);
    $suiteClassName = $this->classNameFromFileName($suiteClassFile);
    $loadedClasses = $this->loadSuiteClassFile($suiteClassFile);
    foreach ($loadedClasses as $className) {
        
        /** @noinspection PhpUnhandledExceptionInspection */
        $class = new ReflectionClass($className);
        if ($class->isAnonymous()) {
            continue;
        }
        if ($class->getFileName() !== $suiteClassFile) {
            continue;
        }
        if (!$class->isSubclassOf(TestCase::class)) {
            continue;
        }
        if (!str_ends_with(strtolower($class->getShortName()), strtolower($suiteClassName))) {
            continue;
        }
        if (!$class->isAbstract()) {
            return $class;
        }
        $e = new ClassIsAbstractException($class->getName(), $suiteClassFile);
    }
    if (isset($e)) {
        throw $e;
    }
    foreach ($loadedClasses as $className) {
        if (str_ends_with(strtolower($className), strtolower($suiteClassName))) {
            throw new ClassDoesNotExtendTestCaseException($className, $suiteClassFile);
        }
    }
    throw new ClassCannotBeFoundException($suiteClassName, $suiteClassFile);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal