From 5440708234a096b5ef1db742ee2e79ed44fae80b Mon Sep 17 00:00:00 2001 From: Matt Harrison Date: Thu, 21 Sep 2023 13:28:31 -0400 Subject: [PATCH 1/3] Failing test that show that imports are duplicated if there is more than one of the same global class --- tests/fixtures/facade-aliases/complex.after.php | 6 ++++++ tests/fixtures/facade-aliases/complex.php | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/tests/fixtures/facade-aliases/complex.after.php b/tests/fixtures/facade-aliases/complex.after.php index 0f20668..9c0fa65 100644 --- a/tests/fixtures/facade-aliases/complex.after.php +++ b/tests/fixtures/facade-aliases/complex.after.php @@ -26,4 +26,10 @@ public function noop() SomeApp::make('app'); Another\Arr::wrap('arr'); } + + public function duplicateGlobals() + { + App::make('app'); + App::make('app'); + } } diff --git a/tests/fixtures/facade-aliases/complex.php b/tests/fixtures/facade-aliases/complex.php index d4def0e..0c8ab0b 100644 --- a/tests/fixtures/facade-aliases/complex.php +++ b/tests/fixtures/facade-aliases/complex.php @@ -24,4 +24,10 @@ public function noop() SomeApp::make('app'); Another\Arr::wrap('arr'); } + + public function duplicateGlobals() + { + \App::make('app'); + \App::make('app'); + } } From 46a2832e3a1c809c18401f341442ce820a32b5c9 Mon Sep 17 00:00:00 2001 From: Matt Harrison Date: Thu, 21 Sep 2023 13:29:40 -0400 Subject: [PATCH 2/3] fix str_contains parameter order to fix duplicate imports --- src/Tasks/FacadeAliases.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tasks/FacadeAliases.php b/src/Tasks/FacadeAliases.php index 1f39e8c..5e470c8 100644 --- a/src/Tasks/FacadeAliases.php +++ b/src/Tasks/FacadeAliases.php @@ -132,7 +132,7 @@ function ($matches) use (&$imports) { $prefix .= 'Facades\\'; } - if (str_contains('use ' . $prefix . $import . ';', $contents)) { + if (str_contains($contents, 'use ' . $prefix . $import . ';')) { continue; } From f3893310230a66c43a6db7f5c0ef9e854f398287 Mon Sep 17 00:00:00 2001 From: Matt Harrison Date: Thu, 21 Sep 2023 13:30:37 -0400 Subject: [PATCH 3/3] add additional test for duplicate normal items for beter coverage to prove that still works. --- tests/fixtures/facade-aliases/complex.after.php | 6 ++++++ tests/fixtures/facade-aliases/complex.php | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/tests/fixtures/facade-aliases/complex.after.php b/tests/fixtures/facade-aliases/complex.after.php index 9c0fa65..9b744aa 100644 --- a/tests/fixtures/facade-aliases/complex.after.php +++ b/tests/fixtures/facade-aliases/complex.after.php @@ -27,6 +27,12 @@ public function noop() Another\Arr::wrap('arr'); } + public function duplicates() + { + Arr::wrap('arr'); + Arr::wrap('arr'); + } + public function duplicateGlobals() { App::make('app'); diff --git a/tests/fixtures/facade-aliases/complex.php b/tests/fixtures/facade-aliases/complex.php index 0c8ab0b..33d098b 100644 --- a/tests/fixtures/facade-aliases/complex.php +++ b/tests/fixtures/facade-aliases/complex.php @@ -25,6 +25,12 @@ public function noop() Another\Arr::wrap('arr'); } + public function duplicates() + { + Arr::wrap('arr'); + Arr::wrap('arr'); + } + public function duplicateGlobals() { \App::make('app');