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\FrameworkCode
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,
];
}