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

Xtn.Cldr: Fix missing lang returning Cldr_name_file.Empty instead of null [#349]

This commit is contained in:
gnosygnu 2019-02-04 23:25:38 -05:00
parent ebfd7a8352
commit cde0163ae7
2 changed files with 6 additions and 2 deletions

View File

@ -25,7 +25,10 @@ public class Cldr_name_loader {
public Cldr_name_loader(Io_url cldr_dir) {
this.cldr_dir = cldr_dir;
}
public void Clear() {
files_hash.Clear();
urls_hash = null;
}
public Cldr_name_file Load_or_empty(String lang_key) {
// normalize to lc; scrib will pass lower_case, but underlying files are Title_case
lang_key = String_.Lower(lang_key);
@ -41,7 +44,6 @@ public class Cldr_name_loader {
// get file
Io_url url = (Io_url)urls_hash.Get_by(lang_key);
if (url == null) {
urls_hash.Add(lang_key, Cldr_name_file.Empty);
Gfo_usr_dlg_.Instance.Warn_many("", "", "no cldrName file exists for lang; lang=~{0}", lang_key);
return Cldr_name_file.Empty;
}

View File

@ -17,6 +17,7 @@ package gplx.xowa.xtns.cldrs; import gplx.*; import gplx.xowa.*; import gplx.xow
import org.junit.*; import gplx.core.tests.*;
public class Cldr_name_loader_tst {
private final Cldr_name_loader_fxt fxt = new Cldr_name_loader_fxt();
@Before public void init() {fxt.Clear();}
@Test public void Load_file_is_null() {
fxt.Init__file("CldrNamesEn.json", "{}");
fxt.Test__load_file_is_empty(Bool_.N, "En");
@ -32,6 +33,7 @@ class Cldr_name_loader_fxt {
private static final String Dir_name = "mem/CldrNames/";
private final Cldr_name_loader name_loader = new Cldr_name_loader(Io_url_.mem_dir_(Dir_name));
public void Clear() {name_loader.Clear();}
public void Init__file(String fil_name, String txt) {
Io_mgr.Instance.SaveFilStr(Io_url_.new_fil_(Dir_name + fil_name), txt);
}