function TestDiscovery::getPhpunitTestSuite

Same name in other branches
  1. 9 core/lib/Drupal/Core/Test/TestDiscovery.php \Drupal\Core\Test\TestDiscovery::getPhpunitTestSuite()
  2. 10 core/lib/Drupal/Core/Test/TestDiscovery.php \Drupal\Core\Test\TestDiscovery::getPhpunitTestSuite()
  3. 11.x core/lib/Drupal/Core/Test/TestDiscovery.php \Drupal\Core\Test\TestDiscovery::getPhpunitTestSuite()

Determines the phpunit testsuite for a given classname, based on namespace.

Parameters

string $classname: The test classname.

Return value

string|false The testsuite name or FALSE if its not a phpunit test.

3 calls to TestDiscovery::getPhpunitTestSuite()
TestBase::checkTestHierarchyMismatch in core/modules/simpletest/src/TestBase.php
Fail the test if it belongs to a PHPUnit-based framework.
TestDiscovery::getTestInfo in core/lib/Drupal/Core/Test/TestDiscovery.php
Retrieves information about a test class for UI purposes.
TestDiscoveryTest::testGetPhpunitTestSuite in core/tests/Drupal/Tests/Core/Test/TestDiscoveryTest.php
@covers ::getPhpunitTestSuite @dataProvider providerTestGetPhpunitTestSuite

File

core/lib/Drupal/Core/Test/TestDiscovery.php, line 455

Class

TestDiscovery
Discovers available tests.

Namespace

Drupal\Core\Test

Code

public static function getPhpunitTestSuite($classname) {
    if (preg_match('/Drupal\\\\Tests\\\\(\\w+)\\\\(\\w+)/', $classname, $matches)) {
        // This could be an extension test, in which case the first match will be
        // the extension name. We assume that lower-case strings are module names.
        if (strtolower($matches[1]) == $matches[1]) {
            return $matches[2];
        }
        return 'Unit';
    }
    elseif (preg_match('/Drupal\\\\(\\w*)Tests\\\\/', $classname, $matches)) {
        if ($matches[1] == '') {
            return 'Unit';
        }
        return $matches[1];
    }
    return FALSE;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.