@@ -234,15 +234,38 @@ public function testTransWithFallbackLocaleFile($format, $loader)
234
234
$ this ->assertEquals ('bar ' , $ translator ->trans ('foo ' , [], 'resources ' ));
235
235
}
236
236
237
- public function testTransWithFallbackLocaleBis ()
237
+ /**
238
+ * @dataProvider getFallbackLocales
239
+ */
240
+ public function testTransWithFallbackLocaleBis ($ expectedLocale , $ locale )
238
241
{
239
- $ translator = new Translator (' en_US ' );
242
+ $ translator = new Translator ($ locale );
240
243
$ translator ->addLoader ('array ' , new ArrayLoader ());
241
- $ translator ->addResource ('array ' , ['foo ' => 'foofoo ' ], ' en_US ' );
242
- $ translator ->addResource ('array ' , ['bar ' => 'foobar ' ], ' en ' );
244
+ $ translator ->addResource ('array ' , ['foo ' => 'foofoo ' ], $ locale );
245
+ $ translator ->addResource ('array ' , ['bar ' => 'foobar ' ], $ expectedLocale );
243
246
$ this ->assertEquals ('foobar ' , $ translator ->trans ('bar ' ));
244
247
}
245
248
249
+ public function getFallbackLocales ()
250
+ {
251
+ $ locales = [
252
+ ['en ' , 'en_US ' ],
253
+ ['en ' , 'en-US ' ],
254
+ ['sl_Latn_IT ' , 'sl_Latn_IT_nedis ' ],
255
+ ['sl_Latn ' , 'sl_Latn_IT ' ],
256
+ ];
257
+
258
+ if (\function_exists ('locale_parse ' )) {
259
+ $ locales [] = ['sl_Latn_IT ' , 'sl-Latn-IT-nedis ' ];
260
+ $ locales [] = ['sl_Latn ' , 'sl-Latn-IT ' ];
261
+ } else {
262
+ $ locales [] = ['sl-Latn-IT ' , 'sl-Latn-IT-nedis ' ];
263
+ $ locales [] = ['sl-Latn ' , 'sl-Latn-IT ' ];
264
+ }
265
+
266
+ return $ locales ;
267
+ }
268
+
246
269
public function testTransWithFallbackLocaleTer ()
247
270
{
248
271
$ translator = new Translator ('fr_FR ' );
0 commit comments