diff --git a/400_xowa/src/gplx/xowa/parsers/xndes/Xop_xatr_whitelist_mgr.java b/400_xowa/src/gplx/xowa/parsers/xndes/Xop_xatr_whitelist_mgr.java index 521d41133..c34e8730b 100644 --- a/400_xowa/src/gplx/xowa/parsers/xndes/Xop_xatr_whitelist_mgr.java +++ b/400_xowa/src/gplx/xowa/parsers/xndes/Xop_xatr_whitelist_mgr.java @@ -1,23 +1,34 @@ -/* -XOWA: the XOWA Offline Wiki Application -Copyright (C) 2012-2017 gnosygnu@gmail.com - -XOWA is licensed under the terms of the General Public License (GPL) Version 3, -or alternatively under the terms of the Apache License Version 2.0. - -You may use XOWA according to either of these licenses as is most appropriate -for your project on a case-by-case basis. - -The terms of each license can be found in the source code repository: - -GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt -Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt -*/ -package gplx.xowa.parsers.xndes; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; -import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.xowa.parsers.htmls.*; +/* +XOWA: the XOWA Offline Wiki Application +Copyright (C) 2012-2020 gnosygnu@gmail.com + +XOWA is licensed under the terms of the General Public License (GPL) Version 3, +or alternatively under the terms of the Apache License Version 2.0. + +You may use XOWA according to either of these licenses as is most appropriate +for your project on a case-by-case basis. + +The terms of each license can be found in the source code repository: + +GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt +Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt +*/ +package gplx.xowa.parsers.xndes; + +import gplx.Bry_; +import gplx.Byte_ascii; +import gplx.Hash_adp_bry; +import gplx.List_adp; +import gplx.List_adp_; +import gplx.core.btries.Btrie_rv; +import gplx.core.btries.Btrie_slim_mgr; +import gplx.core.primitives.Byte_obj_val; +import gplx.xowa.parsers.htmls.Mwh_atr_itm; +import gplx.xowa.parsers.htmls.Mwh_atr_itm_; + public class Xop_xatr_whitelist_mgr { - private final Hash_adp_bry grp_hash = Hash_adp_bry.cs(); - private final Btrie_rv trv = new Btrie_rv(); + private final Hash_adp_bry grp_hash = Hash_adp_bry.cs(); + private final Btrie_rv trv = new Btrie_rv(); public boolean Chk(int tag_id, Mwh_atr_itm xatr) { byte[] src = xatr.Src(); byte[] key_bry = xatr.Key_bry(); @@ -47,7 +58,9 @@ public class Xop_xatr_whitelist_mgr { xatr.Val_bry_(gplx.xowa.parsers.amps.Xop_amp_mgr.Instance.Decode_as_bry(xatr.Val_as_bry())); // NOTE: must decode style values; "&#amp;#000000" -> "#000000"; see MW:checkCss; PAGE:en.w:Boron DATE:2015-07-29 break; case Mwh_atr_itm_.Key_tid__role: - if (!Bry_.Eq(Val_role_presentation, xatr.Val_as_bry())) return false; // MW: For now we only support role="presentation"; DATE:2014-04-05 + // 2020-08-17|ISSUE#:785|TOMBSTONE: originally put in for vertical whitespace issues in en.w:Supreme_Court_of_the_United_States, but could not reproduce + // if (!Bry_.Eq(Val_role_presentation, xatr.Val_as_bry())) + // return false; // MW: For now we only support role="presentation"; DATE:2014-04-05 break; } return rv; @@ -397,7 +410,6 @@ public class Xop_xatr_whitelist_mgr { .Add_str_byte("image-set" , Style_image_set) .Add_str_byte("/*" , Style_comment) ; - private static final byte[] Val_role_presentation = Bry_.new_a7("presentation"); } class Xop_xatr_whitelist_itm { public Xop_xatr_whitelist_itm(byte[] key, byte key_tid, boolean exact) {this.key = key; this.key_tid = key_tid; this.exact = exact;} diff --git a/400_xowa/src/gplx/xowa/parsers/xndes/Xop_xatr_whitelist_mgr_tst.java b/400_xowa/src/gplx/xowa/parsers/xndes/Xop_xatr_whitelist_mgr_tst.java index 9fb8408a0..4c41191aa 100644 --- a/400_xowa/src/gplx/xowa/parsers/xndes/Xop_xatr_whitelist_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/xndes/Xop_xatr_whitelist_mgr_tst.java @@ -1,37 +1,44 @@ -/* -XOWA: the XOWA Offline Wiki Application -Copyright (C) 2012-2017 gnosygnu@gmail.com - -XOWA is licensed under the terms of the General Public License (GPL) Version 3, -or alternatively under the terms of the Apache License Version 2.0. - -You may use XOWA according to either of these licenses as is most appropriate -for your project on a case-by-case basis. - -The terms of each license can be found in the source code repository: - -GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt -Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt -*/ -package gplx.xowa.parsers.xndes; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; -import org.junit.*; import gplx.xowa.parsers.htmls.*; +/* +XOWA: the XOWA Offline Wiki Application +Copyright (C) 2012-2020 gnosygnu@gmail.com + +XOWA is licensed under the terms of the General Public License (GPL) Version 3, +or alternatively under the terms of the Apache License Version 2.0. + +You may use XOWA according to either of these licenses as is most appropriate +for your project on a case-by-case basis. + +The terms of each license can be found in the source code repository: + +GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt +Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt +*/ +package gplx.xowa.parsers.xndes; + +import gplx.Bry_; +import gplx.String_; +import gplx.Tfds; +import gplx.xowa.parsers.htmls.Mwh_atr_itm; +import org.junit.Before; +import org.junit.Test; + public class Xop_xatr_whitelist_mgr_tst { - private final Xop_xatr_whitelist_fxt fxt = new Xop_xatr_whitelist_fxt(); + private final Xop_xatr_whitelist_fxt fxt = new Xop_xatr_whitelist_fxt(); @Before public void init() {fxt.Clear();} @Test public void Basic() { - fxt.Whitelist(Xop_xnde_tag_.Tid__div , "style" , true); - fxt.Whitelist(Xop_xnde_tag_.Tid__div , "xstyle" , false); - fxt.Whitelist(Xop_xnde_tag_.Tid__div , "stylex" , false); - fxt.Whitelist(Xop_xnde_tag_.Tid__div , "styl" , false); - fxt.Whitelist(Xop_xnde_tag_.Tid__img , "alt" , true); - fxt.Whitelist(Xop_xnde_tag_.Tid__img , "span" , false); - fxt.Whitelist(Xop_xnde_tag_.Tid__div , "data-sort-type" , true); - fxt.Whitelist(Xop_xnde_tag_.Tid__data , "value" , true); - fxt.Whitelist(Xop_xnde_tag_.Tid__data , "valuex" , false); + fxt.Whitelist(Xop_xnde_tag_.Tid__div , "style" , true); + fxt.Whitelist(Xop_xnde_tag_.Tid__div , "xstyle" , false); + fxt.Whitelist(Xop_xnde_tag_.Tid__div , "stylex" , false); + fxt.Whitelist(Xop_xnde_tag_.Tid__div , "styl" , false); + fxt.Whitelist(Xop_xnde_tag_.Tid__img , "alt" , true); + fxt.Whitelist(Xop_xnde_tag_.Tid__img , "span" , false); + fxt.Whitelist(Xop_xnde_tag_.Tid__div , "data-sort-type" , true); + fxt.Whitelist(Xop_xnde_tag_.Tid__data , "value" , true); + fxt.Whitelist(Xop_xnde_tag_.Tid__data , "valuex" , false); } @Test public void Role() { - fxt.Whitelist(Xop_xnde_tag_.Tid__div , "role" , "presentation", true); - fxt.Whitelist(Xop_xnde_tag_.Tid__div , "role" , "other", false); + fxt.Whitelist(Xop_xnde_tag_.Tid__div , "role" , "presentation", true); + fxt.Whitelist(Xop_xnde_tag_.Tid__div , "role" , "other", true); } @Test public void Scrub() { fxt.Scrub_style_fail("expression"); diff --git a/400_xowa/src/gplx/xowa/xtns/pagebanners/Pgbnr_xtn_mgr.java b/400_xowa/src/gplx/xowa/xtns/pagebanners/Pgbnr_xtn_mgr.java index 8a26cf572..4c39199b6 100644 --- a/400_xowa/src/gplx/xowa/xtns/pagebanners/Pgbnr_xtn_mgr.java +++ b/400_xowa/src/gplx/xowa/xtns/pagebanners/Pgbnr_xtn_mgr.java @@ -51,7 +51,7 @@ public class Pgbnr_xtn_mgr extends Xox_mgr_base implements Bfr_arg { enabled = true; break; case Xow_domain_tid_.Tid__wikivoyage: - // 2020-08-16|#748:include project for en.v; PAGE:en.v:Wikivoyage:Past_events/World_Cup_2010 + // 2020-08-16|ISSUE#:748|include project for en.v; PAGE:en.v:Wikivoyage:Past_events/World_Cup_2010 ns_ary = Int_ary_.New(Xow_ns_.Tid__main, Xow_ns_.Tid__user, Xow_ns_.Tid__main, Xow_ns_.Tid__project); switch (wiki.Lang().Lang_id()) { case Xol_lang_stub_.Id_en: