1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2024-09-28 14:30:51 +00:00

Scribunto: Return ['en'] not [] if unknown language [#340]

This commit is contained in:
gnosygnu 2019-02-01 23:12:24 -05:00
parent 5daf74516a
commit 739d302850
2 changed files with 6 additions and 2 deletions

View File

@ -153,7 +153,8 @@ public class Scrib_lib_language implements Scrib_lib {
}
public boolean GetFallbacksFor(Scrib_proc_args args, Scrib_proc_rslt rslt) {
byte[] lang_code = args.Pull_bry(0);
Xol_lang_itm lang = core.App().Lang_mgr().Get_by(lang_code); if (lang == null) return rslt.Init_many_empty(); // lang is not valid; return empty array per MW;
Xol_lang_itm lang = core.App().Lang_mgr().Get_by(lang_code);
if (lang == null) return rslt.Init_bry_ary(Bry_.Ary("en")); // lang is not valid; return en; REF:/languages/Language.php|getFallbacksFor; ISSUE#:340; DATE:2019-02-01
return rslt.Init_bry_ary(lang.Fallback_bry_ary());
}
public boolean Lcfirst(Scrib_proc_args args, Scrib_proc_rslt rslt) {return Case_1st(args, rslt, Bool_.N);}

View File

@ -75,7 +75,10 @@ public class Scrib_lib_language_tst {
));
}
@Test public void GetFallbacksFor_unknown() {
fxt.Test_scrib_proc_empty(lib, Scrib_lib_language.Invk_getFallbacksFor, Object_.Ary("unknown"));
fxt.Test_scrib_proc_str_ary(lib, Scrib_lib_language.Invk_getFallbacksFor, Object_.Ary("unknown"), String_.Concat_lines_nl
( "1="
, " 1=en" // use "en" if unknown; REF:/languages/Language.php|getFallbacksFor; ISSUE#:340; DATE:2019-02-01
));
}
@Test public void FormatNum() {
Xol_lang_itm other_lang = fxt.Core().App().Lang_mgr().Get_by_or_new(Bry_.new_a7("de")).Init_by_load_assert(); // NOTE: must call Init_by_load_assert, else load will be called by scrib and sprs below will get overwritten during load;