function PhpUnitTestDiscovery::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.

2 calls to PhpUnitTestDiscovery::getPhpunitTestSuite()
PhpUnitTestDiscovery::getTestListLimitedToDirectory in core/lib/Drupal/Core/Test/PhpUnitTestDiscovery.php
Returns a list of tests from a TestSuite object limited to a directory.
TestDiscoveryTest::testGetPhpunitTestSuite in core/tests/Drupal/Tests/Core/Test/TestDiscoveryTest.php
Tests PhpUnitTestDiscovery::getPhpunitTestSuite().

File

core/lib/Drupal/Core/Test/PhpUnitTestDiscovery.php, line 411

Class

PhpUnitTestDiscovery
Discovers available tests using the PHPUnit API.

Namespace

Drupal\Core\Test

Code

public static function getPhpunitTestSuite(string $classname) : string|false {
  if (preg_match('/Drupal\\\\Tests\\\\(\\w+)\\\\(\\w+)/', $classname, $matches)) {
    if ($matches[1] === 'Component') {
      return 'unit-component';
    }
    // 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 match ($matches[2]) {  'FunctionalJavascript' => 'functional-javascript',
        default => strtolower($matches[2]),
      
      };
    }
    return 'unit';
  }
  elseif (preg_match('/Drupal\\\\(\\w*)Tests\\\\/', $classname, $matches)) {
    return match ($matches[1]) {  '' => 'unit',
      'FunctionalJavascript' => 'functional-javascript',
      default => strtolower($matches[1]),
    
    };
  }
  return FALSE;
}

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