@@ -89,6 +89,7 @@ public function testCollision3(): void
8989 $ importing ->addClass ('\\Foo \\Bar \\ClassTwoAlias1 ' );
9090 $ importing ->addClass ('\\Foo \\Bar \\ClassTwoAlias2 ' );
9191 $ importing ->addClass ('\\Foo \\Bar \\ClassThree ' );
92+ $ importing ->addClass ('\\Throwable ' );
9293
9394 $ importing ->prepare ();
9495
@@ -101,12 +102,13 @@ public function testCollision3(): void
101102
102103 self ::assertSame ($ expected , $ importing ->imports ());
103104
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 ' ];
105+ $ expected = ['\\' .__NAMESPACE__ .'\\ClassTwo ' => 'ClassTwo ' ,
106+ '\\Foo \\Bar \\ClassTwoAlias1 ' => 'ClassTwoAlias1 ' ,
107+ '\\Foo \\Bar \\ClassTwoAlias2 ' => 'ClassTwoAlias2 ' ,
108+ '\\Foo \\Bar \\ClassThree ' => 'ClassThree ' ,
109+ '\\Bar \\Foo \\ClassTwo ' => 'ClassTwoAlias3 ' ,
110+ '\\Foo \\Bar \\ClassOne ' => 'ClassOne ' ,
111+ '\\Foo \\Bar \\ClassTwo ' => 'ClassTwoAlias4 ' ];
110112
111113 self ::assertSame ($ expected , $ importing ->replacePairs ());
112114 }
@@ -125,6 +127,34 @@ public function testNoImports(): void
125127 self ::assertSame ([], $ importing ->replacePairs ());
126128 }
127129
130+ //--------------------------------------------------------------------------------------------------------------------
131+ /**
132+ * Simple test with 3 distinct classes and a global name.
133+ */
134+ public function testSameNamespace (): void
135+ {
136+ $ importing = new Importing (__NAMESPACE__ );
137+ $ importing ->addClass (__NAMESPACE__ .'\\ClassOne ' );
138+ $ importing ->addClass (__NAMESPACE__ .'\\ClassTwo ' );
139+ $ importing ->addClass (__NAMESPACE__ .'\\ClassThree ' );
140+ $ importing ->addClass ('\\Throwable ' );
141+
142+ $ importing ->prepare ();
143+
144+ self ::assertSame ([], $ importing ->imports ());
145+
146+ $ expected = ['\\' .__NAMESPACE__ .'\\ClassThree ' => 'ClassThree ' ,
147+ '\\' .__NAMESPACE__ .'\\ClassOne ' => 'ClassOne ' ,
148+ '\\' .__NAMESPACE__ .'\\ClassTwo ' => 'ClassTwo ' ];
149+
150+ self ::assertSame ($ expected , $ importing ->replacePairs ());
151+
152+ self ::assertSame ('ClassOne ' , $ importing ->simplyFullyQualifiedName (__NAMESPACE__ .'\\ClassOne ' ));
153+ self ::assertSame ('ClassTwo ' , $ importing ->simplyFullyQualifiedName (__NAMESPACE__ .'\\ClassTwo ' ));
154+ self ::assertSame ('ClassThree ' , $ importing ->simplyFullyQualifiedName (__NAMESPACE__ .'\\ClassThree ' ));
155+ self ::assertSame ('\\Throwable ' , $ importing ->simplyFullyQualifiedName ('\\Throwable ' ));
156+ }
157+
128158 //--------------------------------------------------------------------------------------------------------------------
129159 /**
130160 * Simple test with 3 distinct classes.
@@ -158,7 +188,7 @@ public function testSimpleCase(): void
158188 /**
159189 * Simple test with 3 distinct classes and a global name.
160190 */
161- public function testSimpleCaseWIthGlobalName (): void
191+ public function testSimpleCaseWithGlobalName (): void
162192 {
163193 $ importing = new Importing (__NAMESPACE__ );
164194 $ importing ->addClass ('\\Foo \\Bar \\ClassOne ' );
0 commit comments