mirror of
https://github.com/gnosygnu/xowa.git
synced 2024-10-27 20:34:16 +00:00
Wikibase: Check for null in getEntityId when title is invalid
This commit is contained in:
parent
372cd3958d
commit
070eb3c53a
@ -139,7 +139,11 @@ public class Scrib_lib_wikibase implements Scrib_lib {
|
|||||||
byte[] ttl_bry = args.Pull_bry(0);
|
byte[] ttl_bry = args.Pull_bry(0);
|
||||||
Xowe_wiki wiki = core.Wiki();
|
Xowe_wiki wiki = core.Wiki();
|
||||||
Xoa_ttl ttl = Xoa_ttl.Parse(wiki, ttl_bry);
|
Xoa_ttl ttl = Xoa_ttl.Parse(wiki, ttl_bry);
|
||||||
byte[] rv = wiki.Appe().Wiki_mgr().Wdata_mgr().Qid_mgr.Get_qid_or_null(wiki, ttl); if (rv == null) rv = Bry_.Empty;
|
byte[] rv = null;
|
||||||
|
if (ttl != null) // must check for null; PAGE:en.w:Water_treader DATE:2018-07-01
|
||||||
|
rv = wiki.Appe().Wiki_mgr().Wdata_mgr().Qid_mgr.Get_qid_or_null(wiki, ttl);
|
||||||
|
if (rv == null) // can be null if ttl is invalid or doesn't exist
|
||||||
|
rv = Bry_.Empty;
|
||||||
return rslt.Init_obj(rv);
|
return rslt.Init_obj(rv);
|
||||||
}
|
}
|
||||||
// REF: https://github.com/wikimedia/mediawiki-extensions-Wikibase/blob/master/client/config/WikibaseClient.default.php
|
// REF: https://github.com/wikimedia/mediawiki-extensions-Wikibase/blob/master/client/config/WikibaseClient.default.php
|
||||||
|
@ -53,6 +53,7 @@ public class Scrib_lib_wikibase_tst {
|
|||||||
wdata_fxt.Init_links_add("enwiki", "Earth", "q2");
|
wdata_fxt.Init_links_add("enwiki", "Earth", "q2");
|
||||||
fxt.Test_scrib_proc_str(lib, Scrib_lib_wikibase.Invk_getEntityId, Object_.Ary("Earth" ), "q2");
|
fxt.Test_scrib_proc_str(lib, Scrib_lib_wikibase.Invk_getEntityId, Object_.Ary("Earth" ), "q2");
|
||||||
fxt.Test_scrib_proc_str(lib, Scrib_lib_wikibase.Invk_getEntityId, Object_.Ary("missing_page" ), "");
|
fxt.Test_scrib_proc_str(lib, Scrib_lib_wikibase.Invk_getEntityId, Object_.Ary("missing_page" ), "");
|
||||||
|
fxt.Test_scrib_proc_str(lib, Scrib_lib_wikibase.Invk_getEntityId, Object_.Ary("" ), ""); // PAGE:en.w:Water_treader DATE:2018-07-01
|
||||||
}
|
}
|
||||||
@Test public void GetReferencedEntityId() {
|
@Test public void GetReferencedEntityId() {
|
||||||
wdata_fxt.Init__docs__add(wdata_fxt.Wdoc_bldr("Q1").Xto_wdoc());
|
wdata_fxt.Init__docs__add(wdata_fxt.Wdoc_bldr("Q1").Xto_wdoc());
|
||||||
@ -67,8 +68,6 @@ public class Scrib_lib_wikibase_tst {
|
|||||||
rv[i] = Keyval_.int_(i, toIds[i]);
|
rv[i] = Keyval_.int_(i, toIds[i]);
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
*/
|
|
||||||
@Test public void GetLabel__cur() {
|
@Test public void GetLabel__cur() {
|
||||||
wdata_fxt.Init__docs__add(wdata_fxt.Wdoc_bldr("q2").Add_label("zh-hans", "s").Add_label("zh-hant", "t").Xto_wdoc());
|
wdata_fxt.Init__docs__add(wdata_fxt.Wdoc_bldr("q2").Add_label("zh-hans", "s").Add_label("zh-hant", "t").Xto_wdoc());
|
||||||
fxt.Test_scrib_proc_str(lib, Scrib_lib_wikibase.Invk_getLabel, Object_.Ary("q2"), "s"); // do not get fallback
|
fxt.Test_scrib_proc_str(lib, Scrib_lib_wikibase.Invk_getLabel, Object_.Ary("q2"), "s"); // do not get fallback
|
||||||
|
Loading…
Reference in New Issue
Block a user