diff --git a/400_xowa/src/gplx/xowa/htmls/core/htmls/Xoh_html_wtr.java b/400_xowa/src/gplx/xowa/htmls/core/htmls/Xoh_html_wtr.java
index dfcb9a7c5..66c085028 100644
--- a/400_xowa/src/gplx/xowa/htmls/core/htmls/Xoh_html_wtr.java
+++ b/400_xowa/src/gplx/xowa/htmls/core/htmls/Xoh_html_wtr.java
@@ -1,25 +1,67 @@
-/*
-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.htmls.core.htmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.htmls.*; import gplx.xowa.htmls.core.*;
-import gplx.core.btries.*;
-import gplx.langs.htmls.*; import gplx.xowa.langs.kwds.*; import gplx.langs.htmls.entitys.*;
-import gplx.xowa.htmls.core.wkrs.hdrs.*; import gplx.xowa.htmls.core.wkrs.lnkes.*;
-import gplx.xowa.wikis.domains.*;
-import gplx.xowa.parsers.*; import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.htmls.core.wkrs.lnkis.htmls.*; import gplx.xowa.parsers.tblws.*; import gplx.xowa.parsers.paras.*; import gplx.xowa.parsers.xndes.*; import gplx.xowa.parsers.lnkis.*; import gplx.xowa.parsers.miscs.*; import gplx.xowa.parsers.htmls.*; import gplx.xowa.parsers.uniqs.*;
-import gplx.xowa.xtns.*; import gplx.xowa.xtns.cites.*; import gplx.xowa.parsers.hdrs.*;
+/*
+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.htmls.core.htmls;
+
+import gplx.Bool_;
+import gplx.Bry_bfr;
+import gplx.Byte_ascii;
+import gplx.Err_;
+import gplx.Gfo_usr_dlg_;
+import gplx.langs.htmls.Gfh_tag_;
+import gplx.langs.htmls.entitys.Gfh_entity_;
+import gplx.xowa.Xoae_app;
+import gplx.xowa.Xoae_page;
+import gplx.xowa.Xowe_wiki;
+import gplx.xowa.htmls.Xow_html_mgr;
+import gplx.xowa.htmls.core.wkrs.hdrs.Xoh_hdr_html;
+import gplx.xowa.htmls.core.wkrs.lnkes.Xoh_lnke_html;
+import gplx.xowa.htmls.core.wkrs.lnkis.htmls.Xoh_lnki_wtr;
+import gplx.xowa.langs.kwds.Xol_kwd_grp_;
+import gplx.xowa.parsers.Xop_ctx;
+import gplx.xowa.parsers.Xop_root_tkn;
+import gplx.xowa.parsers.Xop_tkn_grp;
+import gplx.xowa.parsers.Xop_tkn_itm;
+import gplx.xowa.parsers.Xop_tkn_itm_;
+import gplx.xowa.parsers.amps.Xop_amp_tkn_ent;
+import gplx.xowa.parsers.amps.Xop_amp_tkn_num;
+import gplx.xowa.parsers.apos.Xop_apos_tkn;
+import gplx.xowa.parsers.apos.Xop_apos_tkn_;
+import gplx.xowa.parsers.hdrs.Xop_hdr_tkn;
+import gplx.xowa.parsers.htmls.Mwh_atr_itm;
+import gplx.xowa.parsers.htmls.Mwh_atr_itm_;
+import gplx.xowa.parsers.lists.Xop_list_tkn;
+import gplx.xowa.parsers.lists.Xop_list_tkn_;
+import gplx.xowa.parsers.lnkes.Xop_lnke_tkn;
+import gplx.xowa.parsers.lnkis.Xop_lnki_tkn;
+import gplx.xowa.parsers.miscs.Xop_bry_tkn;
+import gplx.xowa.parsers.miscs.Xop_hr_tkn;
+import gplx.xowa.parsers.miscs.Xop_under_tkn;
+import gplx.xowa.parsers.paras.Xop_nl_tkn;
+import gplx.xowa.parsers.tblws.Xop_tblw_tkn;
+import gplx.xowa.parsers.tblws.Xop_tblw_wkr;
+import gplx.xowa.parsers.uniqs.Xop_uniq_tkn;
+import gplx.xowa.parsers.xndes.Xop_xatr_whitelist_mgr;
+import gplx.xowa.parsers.xndes.Xop_xnde_tag;
+import gplx.xowa.parsers.xndes.Xop_xnde_tag_;
+import gplx.xowa.parsers.xndes.Xop_xnde_tkn;
+import gplx.xowa.wikis.domains.Xow_domain_tid_;
+import gplx.xowa.xtns.Xox_mgr_base;
+import gplx.xowa.xtns.Xox_xnde;
+import gplx.xowa.xtns.cites.Ref_html_wtr;
+
public class Xoh_html_wtr {
private final Xoae_app app; private final Xowe_wiki wiki; private final Xow_html_mgr html_mgr; private final Xop_xatr_whitelist_mgr whitelist_mgr;
private Xoae_page page;
@@ -287,6 +329,14 @@ public class Xoh_html_wtr {
case Xop_xnde_tag_.Tid__ruby: case Xop_xnde_tag_.Tid__rt: case Xop_xnde_tag_.Tid__rb: case Xop_xnde_tag_.Tid__rp:
case Xop_xnde_tag_.Tid__time: case Xop_xnde_tag_.Tid__bdi: case Xop_xnde_tag_.Tid__data: case Xop_xnde_tag_.Tid__mark: case Xop_xnde_tag_.Tid__wbr: case Xop_xnde_tag_.Tid__bdo: // HTML 5: write literally and let browser handle them
case Xop_xnde_tag_.Tid__q:
+ // added new tags below; ISSUE#:636 DATE:2020-03-08; FIX:NPE;ISSUE#:730; DATE:2020-05-27
+ case Xop_xnde_tag_.Tid__audio:
+ case Xop_xnde_tag_.Tid__video:
+ case Xop_xnde_tag_.Tid__track:
+ case Xop_xnde_tag_.Tid__rtc:
+ case Xop_xnde_tag_.Tid__figure:
+ case Xop_xnde_tag_.Tid__figure_inline:
+ case Xop_xnde_tag_.Tid__figcaption:
Write_xnde(bfr, ctx, hctx, xnde, tag, tag_id, src);
break;
case Xop_xnde_tag_.Tid__pre: {
@@ -362,15 +412,6 @@ public class Xoh_html_wtr {
case Xop_xnde_tag_.Tid__mapframe:
case Xop_xnde_tag_.Tid__maplink:
case Xop_xnde_tag_.Tid__template_styles:
-
- // added new tags below; ISSUE#:636 DATE:2020-03-08
- case Xop_xnde_tag_.Tid__audio:
- case Xop_xnde_tag_.Tid__video:
- case Xop_xnde_tag_.Tid__track:
- case Xop_xnde_tag_.Tid__rtc:
- case Xop_xnde_tag_.Tid__figure:
- case Xop_xnde_tag_.Tid__figure_inline:
- case Xop_xnde_tag_.Tid__figcaption:
Xox_xnde xtn = xnde.Xnde_xtn();
xtn.Xtn_write(bfr, app, ctx, this, hctx, page, xnde, src);
break;
diff --git a/400_xowa/src/gplx/xowa/htmls/core/htmls/Xoh_html_wtr_tst.java b/400_xowa/src/gplx/xowa/htmls/core/htmls/Xoh_html_wtr_tst.java
index be75f3338..8dcc25a91 100644
--- a/400_xowa/src/gplx/xowa/htmls/core/htmls/Xoh_html_wtr_tst.java
+++ b/400_xowa/src/gplx/xowa/htmls/core/htmls/Xoh_html_wtr_tst.java
@@ -1,20 +1,25 @@
-/*
-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.htmls.core.htmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.htmls.*; import gplx.xowa.htmls.core.*;
-import org.junit.*;
+/*
+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.htmls.core.htmls;
+
+import gplx.String_;
+import gplx.xowa.Xop_fxt;
+import org.junit.After;
+import org.junit.Test;
+
public class Xoh_html_wtr_tst {
private final Xop_fxt fxt = new Xop_fxt();
@After public void term() {fxt.Init_para_n_(); fxt.Reset();}
@@ -324,6 +329,21 @@ public class Xoh_html_wtr_tst {
@Test public void Amp_ncr_should_not_be_rendered_as_bytes() { // PURPOSE: should be rendered as not as literal bytes {192,160}; DATE:2013-12-09
fxt.Test_parse_page_wiki_str("a b", "a b");
}
+ @Test public void Rtc() {// PURPOSE:make sure