@@ -101,13 +101,12 @@ public function testCollision3(): void
101101
102102 self ::assertSame ($ expected , $ importing ->imports ());
103103
104- $ expected = ['\\' .__NAMESPACE__ .'\\ClassTwo ' => 'ClassTwoAlias5 ' ,
105- '\\Foo \\Bar \\ClassTwoAlias1 ' => 'ClassTwoAlias1 ' ,
106- '\\Foo \\Bar \\ClassTwoAlias2 ' => 'ClassTwoAlias2 ' ,
107- '\\Foo \\Bar \\ClassThree ' => 'ClassThree ' ,
108- '\\Bar \\Foo \\ClassTwo ' => 'ClassTwoAlias3 ' ,
109- '\\Foo \\Bar \\ClassOne ' => 'ClassOne ' ,
110- '\\Foo \\Bar \\ClassTwo ' => 'ClassTwoAlias4 ' ];
104+ $ expected = ['\\Foo \\Bar \\ClassTwoAlias1 ' => 'ClassTwoAlias1 ' ,
105+ '\\Foo \\Bar \\ClassTwoAlias2 ' => 'ClassTwoAlias2 ' ,
106+ '\\Foo \\Bar \\ClassThree ' => 'ClassThree ' ,
107+ '\\Bar \\Foo \\ClassTwo ' => 'ClassTwoAlias3 ' ,
108+ '\\Foo \\Bar \\ClassOne ' => 'ClassOne ' ,
109+ '\\Foo \\Bar \\ClassTwo ' => 'ClassTwoAlias4 ' ];
111110
112111 self ::assertSame ($ expected , $ importing ->replacePairs ());
113112 }
@@ -155,6 +154,36 @@ public function testSimpleCase(): void
155154 self ::assertSame ('ClassThree ' , $ importing ->simplyFullyQualifiedName ('\\Foo \\Bar \\ClassThree ' ));
156155 }
157156
157+ //--------------------------------------------------------------------------------------------------------------------
158+ /**
159+ * Simple test with 3 distinct classes and a global name.
160+ */
161+ public function testSimpleCaseWIthGlobalName (): void
162+ {
163+ $ importing = new Importing (__NAMESPACE__ );
164+ $ importing ->addClass ('\\Foo \\Bar \\ClassOne ' );
165+ $ importing ->addClass ('Foo \\Bar \\ClassTwo ' );
166+ $ importing ->addClass ('\\Foo \\Bar \\ClassThree ' );
167+ $ importing ->addClass ('\\Throwable ' );
168+
169+ $ importing ->prepare ();
170+
171+ $ expected = ['use Foo \\Bar \\ClassOne; ' ,
172+ 'use Foo \\Bar \\ClassThree; ' ,
173+ 'use Foo \\Bar \\ClassTwo; ' ];
174+
175+ self ::assertSame ($ expected , $ importing ->imports ());
176+
177+ $ expected = ['\\Foo \\Bar \\ClassThree ' => 'ClassThree ' ,
178+ '\\Foo \\Bar \\ClassOne ' => 'ClassOne ' ,
179+ '\\Foo \\Bar \\ClassTwo ' => 'ClassTwo ' ];
180+
181+ self ::assertSame ($ expected , $ importing ->replacePairs ());
182+
183+ self ::assertSame ('ClassThree ' , $ importing ->simplyFullyQualifiedName ('Foo \\Bar \\ClassThree ' ));
184+ self ::assertSame ('ClassThree ' , $ importing ->simplyFullyQualifiedName ('\\Foo \\Bar \\ClassThree ' ));
185+ }
186+
158187 //--------------------------------------------------------------------------------------------------------------------
159188}
160189
0 commit comments