From b550b6bf3b634aec2f8a989226fe66b19b2284ab Mon Sep 17 00:00:00 2001 From: Dorian Villet Date: Tue, 3 Mar 2020 13:35:18 +0100 Subject: [PATCH] Fix various static calls errors in PHPUnit Rectors. --- .../AssertFalseStrposToContainsRector.php | 3 +++ .../SpecificMethod/AssertPropertyExistsRector.php | 5 +++-- .../AssertTrueFalseToSpecificMethodRector.php | 7 ++++--- .../Fixture/skip_static_call.php.inc | 11 +++++++++++ .../Fixture/skip_static_call.php.inc | 11 +++++++++++ .../{fixture3.php.inc => skip_static_call.php.inc} | 2 +- 6 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 rules/phpunit/tests/Rector/SpecificMethod/AssertFalseStrposToContainsRector/Fixture/skip_static_call.php.inc create mode 100644 rules/phpunit/tests/Rector/SpecificMethod/AssertPropertyExistsRector/Fixture/skip_static_call.php.inc rename rules/phpunit/tests/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector/Fixture/{fixture3.php.inc => skip_static_call.php.inc} (76%) diff --git a/rules/phpunit/src/Rector/SpecificMethod/AssertFalseStrposToContainsRector.php b/rules/phpunit/src/Rector/SpecificMethod/AssertFalseStrposToContainsRector.php index 9c48ac02af2c..69677fc8e475 100644 --- a/rules/phpunit/src/Rector/SpecificMethod/AssertFalseStrposToContainsRector.php +++ b/rules/phpunit/src/Rector/SpecificMethod/AssertFalseStrposToContainsRector.php @@ -71,6 +71,9 @@ public function refactor(Node $node): ?Node } $firstArgumentValue = $node->args[0]->value; + if ($firstArgumentValue instanceof StaticCall) { + return null; + } if (! $this->isNames($firstArgumentValue, ['strpos', 'stripos'])) { return null; } diff --git a/rules/phpunit/src/Rector/SpecificMethod/AssertPropertyExistsRector.php b/rules/phpunit/src/Rector/SpecificMethod/AssertPropertyExistsRector.php index 1d6ab121259c..72f0397bf890 100644 --- a/rules/phpunit/src/Rector/SpecificMethod/AssertPropertyExistsRector.php +++ b/rules/phpunit/src/Rector/SpecificMethod/AssertPropertyExistsRector.php @@ -81,9 +81,10 @@ public function refactor(Node $node): ?Node return null; } - /** @var FuncCall $firstArgumentValue */ $firstArgumentValue = $node->args[0]->value; - + if ($firstArgumentValue instanceof StaticCall) { + return null; + } if (! $this->isName($firstArgumentValue, 'property_exists')) { return null; } diff --git a/rules/phpunit/src/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector.php b/rules/phpunit/src/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector.php index e57bc331aa14..c05b30b422e0 100644 --- a/rules/phpunit/src/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector.php +++ b/rules/phpunit/src/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector.php @@ -73,9 +73,10 @@ public function refactor(Node $node): ?Node } $firstArgumentValue = $node->args[0]->value; - if ($firstArgumentValue instanceof StaticCall || - ! $this->isNames($firstArgumentValue, array_keys(self::OLD_TO_NEW_METHODS)) - ) { + if ($firstArgumentValue instanceof StaticCall) { + return null; + } + if (! $this->isNames($firstArgumentValue, array_keys(self::OLD_TO_NEW_METHODS))) { return null; } diff --git a/rules/phpunit/tests/Rector/SpecificMethod/AssertFalseStrposToContainsRector/Fixture/skip_static_call.php.inc b/rules/phpunit/tests/Rector/SpecificMethod/AssertFalseStrposToContainsRector/Fixture/skip_static_call.php.inc new file mode 100644 index 000000000000..7ae8df961f42 --- /dev/null +++ b/rules/phpunit/tests/Rector/SpecificMethod/AssertFalseStrposToContainsRector/Fixture/skip_static_call.php.inc @@ -0,0 +1,11 @@ +