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

Breadcrumb

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

function Groups::groups

@psalm-param class-string $className @psalm-param non-empty-string $methodName

@psalm-return array<int, string>

1 call to Groups::groups()
Groups::size in vendor/phpunit/phpunit/src/Metadata/Api/Groups.php
@psalm-param class-string $className @psalm-param non-empty-string $methodName

File

vendor/phpunit/phpunit/src/Metadata/Api/Groups.php, line 46

Class

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

Namespace

PHPUnit\Metadata\Api

Code

public function groups(string $className, string $methodName, bool $includeVirtual = true) : array {
    $key = $className . '::' . $methodName . '::' . $includeVirtual;
    if (array_key_exists($key, self::$groupCache)) {
        return self::$groupCache[$key];
    }
    $groups = [];
    foreach (Registry::parser()->forClassAndMethod($className, $methodName)
        ->isGroup() as $group) {
        assert($group instanceof Group);
        $groups[] = $group->groupName();
    }
    if ($groups === []) {
        $groups[] = 'default';
    }
    if (!$includeVirtual) {
        return self::$groupCache[$key] = array_unique($groups);
    }
    foreach (Registry::parser()->forClassAndMethod($className, $methodName) as $metadata) {
        if ($metadata->isCoversClass() || $metadata->isCoversFunction()) {
            assert($metadata instanceof CoversClass || $metadata instanceof CoversFunction);
            $groups[] = '__phpunit_covers_' . $this->canonicalizeName($metadata->asStringForCodeUnitMapper());
            continue;
        }
        if ($metadata->isCovers()) {
            assert($metadata instanceof Covers);
            $groups[] = '__phpunit_covers_' . $this->canonicalizeName($metadata->target());
            continue;
        }
        if ($metadata->isUsesClass() || $metadata->isUsesFunction()) {
            assert($metadata instanceof UsesClass || $metadata instanceof UsesFunction);
            $groups[] = '__phpunit_uses_' . $this->canonicalizeName($metadata->asStringForCodeUnitMapper());
            continue;
        }
        if ($metadata->isUses()) {
            assert($metadata instanceof Uses);
            $groups[] = '__phpunit_uses_' . $this->canonicalizeName($metadata->target());
        }
    }
    return self::$groupCache[$key] = array_unique($groups);
}
RSS feed
Powered by Drupal