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

Breadcrumb

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

function TestBuilder::backupSettings

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

@psalm-return array{backupGlobals: ?bool, backupGlobalsExcludeList: list<string>, backupStaticProperties: ?bool, backupStaticPropertiesExcludeList: array<string,list<string>>}

1 call to TestBuilder::backupSettings()
TestBuilder::build in vendor/phpunit/phpunit/src/Framework/TestBuilder.php
@psalm-param non-empty-string $methodName

File

vendor/phpunit/phpunit/src/Framework/TestBuilder.php, line 148

Class

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

Namespace

PHPUnit\Framework

Code

private function backupSettings(string $className, string $methodName) : array {
    $metadataForClass = MetadataRegistry::parser()->forClass($className);
    $metadataForMethod = MetadataRegistry::parser()->forMethod($className, $methodName);
    $metadataForClassAndMethod = MetadataRegistry::parser()->forClassAndMethod($className, $methodName);
    $backupGlobals = null;
    $backupGlobalsExcludeList = [];
    if ($metadataForMethod->isBackupGlobals()
        ->isNotEmpty()) {
        $metadata = $metadataForMethod->isBackupGlobals()
            ->asArray()[0];
        assert($metadata instanceof BackupGlobals);
        if ($metadata->enabled()) {
            $backupGlobals = true;
        }
    }
    elseif ($metadataForClass->isBackupGlobals()
        ->isNotEmpty()) {
        $metadata = $metadataForClass->isBackupGlobals()
            ->asArray()[0];
        assert($metadata instanceof BackupGlobals);
        if ($metadata->enabled()) {
            $backupGlobals = true;
        }
    }
    foreach ($metadataForClassAndMethod->isExcludeGlobalVariableFromBackup() as $metadata) {
        assert($metadata instanceof ExcludeGlobalVariableFromBackup);
        $backupGlobalsExcludeList[] = $metadata->globalVariableName();
    }
    $backupStaticProperties = null;
    $backupStaticPropertiesExcludeList = [];
    if ($metadataForMethod->isBackupStaticProperties()
        ->isNotEmpty()) {
        $metadata = $metadataForMethod->isBackupStaticProperties()
            ->asArray()[0];
        assert($metadata instanceof BackupStaticProperties);
        if ($metadata->enabled()) {
            $backupStaticProperties = true;
        }
    }
    elseif ($metadataForClass->isBackupStaticProperties()
        ->isNotEmpty()) {
        $metadata = $metadataForClass->isBackupStaticProperties()
            ->asArray()[0];
        assert($metadata instanceof BackupStaticProperties);
        if ($metadata->enabled()) {
            $backupStaticProperties = true;
        }
    }
    foreach ($metadataForClassAndMethod->isExcludeStaticPropertyFromBackup() as $metadata) {
        assert($metadata instanceof ExcludeStaticPropertyFromBackup);
        if (!isset($backupStaticPropertiesExcludeList[$metadata->className()])) {
            $backupStaticPropertiesExcludeList[$metadata->className()] = [];
        }
        $backupStaticPropertiesExcludeList[$metadata->className()][] = $metadata->propertyName();
    }
    return [
        'backupGlobals' => $backupGlobals,
        'backupGlobalsExcludeList' => $backupGlobalsExcludeList,
        'backupStaticProperties' => $backupStaticProperties,
        'backupStaticPropertiesExcludeList' => $backupStaticPropertiesExcludeList,
    ];
}

API Navigation

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