@@ -190,7 +190,47 @@ public function testFetchIcons(): void
190
190
$ icons = $ iconify ->fetchIcons ('bi ' , ['heart ' , 'bar ' ]);
191
191
192
192
$ 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 ));
194
234
$ this ->assertContainsOnlyInstancesOf (Icon::class, $ icons );
195
235
}
196
236
0 commit comments