From b998e92a2d37155f0170c002e26f230a07f15353 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Wed, 29 Nov 2023 23:44:05 +0100 Subject: [PATCH 1/2] Create test_str_replace.php.inc for SimplifyForeachToCoaelscingRector --- .../Fixture/test_str_replace.php.inc | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 rules-tests/CodeQuality/Rector/Foreach_/SimplifyForeachToCoalescingRector/Fixture/test_str_replace.php.inc diff --git a/rules-tests/CodeQuality/Rector/Foreach_/SimplifyForeachToCoalescingRector/Fixture/test_str_replace.php.inc b/rules-tests/CodeQuality/Rector/Foreach_/SimplifyForeachToCoalescingRector/Fixture/test_str_replace.php.inc new file mode 100644 index 00000000000..3bc791bf76b --- /dev/null +++ b/rules-tests/CodeQuality/Rector/Foreach_/SimplifyForeachToCoalescingRector/Fixture/test_str_replace.php.inc @@ -0,0 +1,32 @@ + 'App\Tests\Unit']; + + foreach ($namespaceReplaces as $old => $new) { + if ($old === $testNamespace) { + $testNamespace = $new; + } else { + $testNamespace = \str_replace($old . '\\', $new . '\\', $testNamespace); + } + } + + return $testNamespace; + } +} +?> +----- + From 5783ce946dec476e68737541ac049cfaf45a3389 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Wed, 29 Nov 2023 23:45:05 +0100 Subject: [PATCH 2/2] Update test_str_replace.php.inc --- .../Fixture/test_str_replace.php.inc | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/rules-tests/CodeQuality/Rector/Foreach_/SimplifyForeachToCoalescingRector/Fixture/test_str_replace.php.inc b/rules-tests/CodeQuality/Rector/Foreach_/SimplifyForeachToCoalescingRector/Fixture/test_str_replace.php.inc index 3bc791bf76b..23173af6579 100644 --- a/rules-tests/CodeQuality/Rector/Foreach_/SimplifyForeachToCoalescingRector/Fixture/test_str_replace.php.inc +++ b/rules-tests/CodeQuality/Rector/Foreach_/SimplifyForeachToCoalescingRector/Fixture/test_str_replace.php.inc @@ -26,7 +26,22 @@ class TestFileGenerator namespace Rector\Tests\CodeQuality\Rector\Foreach_\SimplifyForeachToCoalescingRector\Fixture; -// what is expected code? -// should remain the same? delete part below ----- (included) +class TestFileGenerator +{ + public function generateTestFile(): string + { + $testNamespace = 'App\Context\Application'; + $namespaceReplaces = ['App' => 'App\Tests\Unit']; + + foreach ($namespaceReplaces as $old => $new) { + if ($old === $testNamespace) { + $testNamespace = $new; + } else { + $testNamespace = \str_replace($old . '\\', $new . '\\', $testNamespace); + } + } + return $testNamespace; + } +} ?>