diff --git a/src/Rules/Drupal/GlobalDrupalDependencyInjectionRule.php b/src/Rules/Drupal/GlobalDrupalDependencyInjectionRule.php index dad42143..ff8db12d 100644 --- a/src/Rules/Drupal/GlobalDrupalDependencyInjectionRule.php +++ b/src/Rules/Drupal/GlobalDrupalDependencyInjectionRule.php @@ -23,7 +23,8 @@ public function processNode(Node $node, Scope $scope): array if (!($node->class instanceof Node\Name\FullyQualified) || (string) $node->class !== 'Drupal') { return []; } - if (!$scope->isInClass() && !$scope->isInTrait()) { + // Do not raise if called inside of a trait. + if (!$scope->isInClass() || $scope->isInTrait()) { return []; } $scopeClassReflection = $scope->getClassReflection(); @@ -32,6 +33,8 @@ public function processNode(Node $node, Scope $scope): array } $whitelist = [ + // Ignore tests. + 'PHPUnit\Framework\TestCase', // Typed data objects cannot use dependency injection. 'Drupal\Core\TypedData\TypedDataInterface', // Render elements cannot use dependency injection.