From 6d843ebdc69a20d0b0c7e92f2c6f7c353896736b Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Tue, 11 Jul 2023 15:44:28 +0200 Subject: [PATCH] Mimic 4474 for previous 0.17.2 --- .../ReplaceStmtToExpr/Fixture/fixture.php.inc | 59 +++++++++++++++++++ .../ReplaceStmtToExprTest.php | 28 +++++++++ .../config/configured_rule.php | 16 +++++ 3 files changed, 103 insertions(+) create mode 100644 tests/Issues/ReplaceStmtToExpr/Fixture/fixture.php.inc create mode 100644 tests/Issues/ReplaceStmtToExpr/ReplaceStmtToExprTest.php create mode 100644 tests/Issues/ReplaceStmtToExpr/config/configured_rule.php diff --git a/tests/Issues/ReplaceStmtToExpr/Fixture/fixture.php.inc b/tests/Issues/ReplaceStmtToExpr/Fixture/fixture.php.inc new file mode 100644 index 00000000000..b6f22098e18 --- /dev/null +++ b/tests/Issues/ReplaceStmtToExpr/Fixture/fixture.php.inc @@ -0,0 +1,59 @@ +getUser($user); + + if (!$user) { + return false; + } + + return $user->isFoo() || $user->isBar(); + } + +} + +?> +----- +getUser($user); + + if (!$user instanceof \Rector\Core\Tests\Issues\ReplaceStmtToExpr\Fixture\User) { + return false; + } + if ($user->isFoo()) { + return true; + } + return (bool) $user->isBar(); + } + +} + +?> diff --git a/tests/Issues/ReplaceStmtToExpr/ReplaceStmtToExprTest.php b/tests/Issues/ReplaceStmtToExpr/ReplaceStmtToExprTest.php new file mode 100644 index 00000000000..9bb2efe91c3 --- /dev/null +++ b/tests/Issues/ReplaceStmtToExpr/ReplaceStmtToExprTest.php @@ -0,0 +1,28 @@ +doTestFile($filePath); + } + + public static function provideData(): Iterator + { + return self::yieldFilesFromDirectory(__DIR__ . '/Fixture'); + } + + public function provideConfigFilePath(): string + { + return __DIR__ . '/config/configured_rule.php'; + } +} diff --git a/tests/Issues/ReplaceStmtToExpr/config/configured_rule.php b/tests/Issues/ReplaceStmtToExpr/config/configured_rule.php new file mode 100644 index 00000000000..c43dd74aff2 --- /dev/null +++ b/tests/Issues/ReplaceStmtToExpr/config/configured_rule.php @@ -0,0 +1,16 @@ +rules([ + ExplicitBoolCompareRector::class, + FlipTypeControlToUseExclusiveTypeRector::class, + ReturnBinaryOrToEarlyReturnRector::class, + ]); +};