@@ -190,7 +190,47 @@ public function testFetchIcons(): void
190190 $ icons = $ iconify ->fetchIcons ('bi ' , ['heart ' , 'bar ' ]);
191191
192192 $ this ->assertCount (2 , $ icons );
193- $ this ->assertSame (['heart ' , 'bar ' ], array_keys ($ icons ));
193+ $ this ->assertSame (['bar ' , 'heart ' ], array_keys ($ icons ));
194+ $ this ->assertContainsOnlyInstancesOf (Icon::class, $ icons );
195+ }
196+
197+ public function testFetchIconsByAliases (): void
198+ {
199+ $ iconify = new Iconify (
200+ cache: new NullAdapter (),
201+ endpoint: 'https://example.com ' ,
202+ http: new MockHttpClient ([
203+ new JsonMockResponse ([
204+ 'mdi ' => [],
205+ ]),
206+ new JsonMockResponse ([
207+ 'aliases ' => [
208+ 'capsule ' => [
209+ 'parent ' => 'pill ' ,
210+ ],
211+ 'sign ' => [
212+ 'parent ' => 'draw ' ,
213+ ],
214+ ],
215+ 'icons ' => [
216+ 'pill ' => [
217+ 'body ' => '<path d="M0 0h24v24H0z" fill="none"/> ' ,
218+ ],
219+ 'glasses ' => [
220+ 'body ' => '<path d="M0 0h24v24H0z" fill="none"/> ' ,
221+ ],
222+ 'draw ' => [
223+ 'body ' => '<path d="M0 0h24v24H0z" fill="none"/> ' ,
224+ ],
225+ ],
226+ ]),
227+ ]),
228+ );
229+
230+ $ icons = $ iconify ->fetchIcons ('mdi ' , ['capsule ' , 'sign ' , 'glasses ' ]);
231+
232+ $ this ->assertCount (3 , $ icons );
233+ $ this ->assertSame (['capsule ' , 'glasses ' , 'sign ' ], array_keys ($ icons ));
194234 $ this ->assertContainsOnlyInstancesOf (Icon::class, $ icons );
195235 }
196236
0 commit comments