diff --git a/packages/PHPUnit/src/Rector/ArrayToYieldDataProviderRector.php b/packages/PHPUnit/src/Rector/ArrayToYieldDataProviderRector.php index 6f7df44e8ad..59d6202779b 100644 --- a/packages/PHPUnit/src/Rector/ArrayToYieldDataProviderRector.php +++ b/packages/PHPUnit/src/Rector/ArrayToYieldDataProviderRector.php @@ -59,11 +59,11 @@ CODE_SAMPLE public function isCandidate(Node $node): bool { - if (! $this->isInTestClass($node)) { + if (! $node instanceof ClassMethod) { return false; } - if (! $node instanceof ClassMethod) { + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/DelegateExceptionArgumentsRector.php b/packages/PHPUnit/src/Rector/DelegateExceptionArgumentsRector.php index bb87e7fb7f5..2728ac54712 100644 --- a/packages/PHPUnit/src/Rector/DelegateExceptionArgumentsRector.php +++ b/packages/PHPUnit/src/Rector/DelegateExceptionArgumentsRector.php @@ -57,6 +57,10 @@ CODE_SAMPLE public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/ExceptionAnnotationRector.php b/packages/PHPUnit/src/Rector/ExceptionAnnotationRector.php index f456dc0ae35..b484849e978 100644 --- a/packages/PHPUnit/src/Rector/ExceptionAnnotationRector.php +++ b/packages/PHPUnit/src/Rector/ExceptionAnnotationRector.php @@ -75,11 +75,11 @@ CODE_SAMPLE public function isCandidate(Node $node): bool { - if (! $this->isInTestClass($node)) { + if (! $node instanceof ClassMethod) { return false; } - if (! $node instanceof ClassMethod) { + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/GetMockRector.php b/packages/PHPUnit/src/Rector/GetMockRector.php index 1862abb39ee..c58ca21e67e 100644 --- a/packages/PHPUnit/src/Rector/GetMockRector.php +++ b/packages/PHPUnit/src/Rector/GetMockRector.php @@ -41,6 +41,10 @@ final class GetMockRector extends AbstractPHPUnitRector public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertCompareToSpecificMethodRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertCompareToSpecificMethodRector.php index e68be546f7f..26f45a4b2bc 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertCompareToSpecificMethodRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertCompareToSpecificMethodRector.php @@ -75,6 +75,10 @@ final class AssertCompareToSpecificMethodRector extends AbstractPHPUnitRector public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertComparisonToSpecificMethodRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertComparisonToSpecificMethodRector.php index 3bc0d0c454d..5c8ad2aafc2 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertComparisonToSpecificMethodRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertComparisonToSpecificMethodRector.php @@ -73,6 +73,10 @@ final class AssertComparisonToSpecificMethodRector extends AbstractPHPUnitRector public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertFalseStrposToContainsRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertFalseStrposToContainsRector.php index b562a5ea9c3..f9d5a3550e1 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertFalseStrposToContainsRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertFalseStrposToContainsRector.php @@ -59,6 +59,10 @@ final class AssertFalseStrposToContainsRector extends AbstractPHPUnitRector public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertInstanceOfComparisonRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertInstanceOfComparisonRector.php index cd6aa80c6b3..781e76f9d7a 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertInstanceOfComparisonRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertInstanceOfComparisonRector.php @@ -67,6 +67,10 @@ final class AssertInstanceOfComparisonRector extends AbstractPHPUnitRector public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertIssetToSpecificMethodRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertIssetToSpecificMethodRector.php index bdbdb4bd2e0..a53fab395d1 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertIssetToSpecificMethodRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertIssetToSpecificMethodRector.php @@ -57,6 +57,10 @@ final class AssertIssetToSpecificMethodRector extends AbstractPHPUnitRector public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertNotOperatorRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertNotOperatorRector.php index 09d3078df81..502cbfbacd8 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertNotOperatorRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertNotOperatorRector.php @@ -6,6 +6,7 @@ use PhpParser\Node; use PhpParser\Node\Arg; use PhpParser\Node\Expr\BooleanNot; use PhpParser\Node\Expr\MethodCall; +use PhpParser\Node\Expr\StaticCall; use Rector\Builder\IdentifierRenamer; use Rector\NodeAnalyzer\MethodCallAnalyzer; use Rector\NodeAnalyzer\StaticMethodCallAnalyzer; @@ -61,6 +62,10 @@ final class AssertNotOperatorRector extends AbstractPHPUnitRector public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall && ! $node instanceof StaticCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertPropertyExistsRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertPropertyExistsRector.php index 8b4e51eaea7..f9d8a712146 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertPropertyExistsRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertPropertyExistsRector.php @@ -78,6 +78,10 @@ final class AssertPropertyExistsRector extends AbstractPHPUnitRector public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertRegExpRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertRegExpRector.php index 27a660a3ec9..d19d9e5cddc 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertRegExpRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertRegExpRector.php @@ -53,6 +53,10 @@ final class AssertRegExpRector extends AbstractPHPUnitRector public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertSameBoolNullToSpecificMethodRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertSameBoolNullToSpecificMethodRector.php index f3c15d57925..d6f546f0cdc 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertSameBoolNullToSpecificMethodRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertSameBoolNullToSpecificMethodRector.php @@ -57,6 +57,10 @@ final class AssertSameBoolNullToSpecificMethodRector extends AbstractPHPUnitRect public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertTrueFalseInternalTypeToSpecificMethodRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertTrueFalseInternalTypeToSpecificMethodRector.php index 587e8f73012..cf6ece28a41 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertTrueFalseInternalTypeToSpecificMethodRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertTrueFalseInternalTypeToSpecificMethodRector.php @@ -89,6 +89,10 @@ final class AssertTrueFalseInternalTypeToSpecificMethodRector extends AbstractPH public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/src/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector.php b/packages/PHPUnit/src/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector.php index 8397c4f54b8..84a35ee4562 100644 --- a/packages/PHPUnit/src/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector.php +++ b/packages/PHPUnit/src/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector.php @@ -90,6 +90,10 @@ final class AssertTrueFalseToSpecificMethodRector extends AbstractPHPUnitRector public function isCandidate(Node $node): bool { + if (! $node instanceof MethodCall) { + return false; + } + if (! $this->isInTestClass($node)) { return false; } diff --git a/packages/PHPUnit/tests/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector/Correct/correct.php.inc b/packages/PHPUnit/tests/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector/Correct/correct.php.inc index 6226ae27c20..92238b9738e 100644 --- a/packages/PHPUnit/tests/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector/Correct/correct.php.inc +++ b/packages/PHPUnit/tests/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector/Correct/correct.php.inc @@ -1,5 +1,7 @@ nodeTypeResolver->resolve($node); + /** @var Class_|null $classNode */ + $classNode = $node->getAttribute(Attribute::CLASS_NODE); - return ! array_intersect(['PHPUnit\Framework\TestCase', 'PHPUnit_Framework_TestCase'], $nodeResolved); + if ($classNode === null) { + throw new ShouldNotHappenException(sprintf( + '"%s" should be set in "%s"', + Attribute::CLASS_NODE, + __METHOD__ + )); + } + + $nodeTypes = $this->nodeTypeResolver->resolve($classNode); + + return (bool) array_intersect(['PHPUnit\Framework\TestCase', 'PHPUnit_Framework_TestCase'], $nodeTypes); } }