diff --git a/100_core/src/gplx/Byte_ascii.java b/100_core/src/gplx/Byte_ascii.java index 721e63fd7..7a7e939f3 100644 --- a/100_core/src/gplx/Byte_ascii.java +++ b/100_core/src/gplx/Byte_ascii.java @@ -114,6 +114,7 @@ public class Byte_ascii { , Lt_bry = new byte[] {Byte_ascii.Lt} , Gt_bry = new byte[] {Byte_ascii.Gt} , Question_bry = new byte[] {Byte_ascii.Question} + , Backslash_bry = new byte[] {Byte_ascii.Backslash} , Brack_bgn_bry = new byte[] {Byte_ascii.Brack_bgn} , Brack_end_bry = new byte[] {Byte_ascii.Brack_end} , Apos_bry = new byte[] {Byte_ascii.Apos} diff --git a/400_xowa/src/gplx/xowa/htmls/core/Xow_hdump_mgr__load.java b/400_xowa/src/gplx/xowa/htmls/core/Xow_hdump_mgr__load.java index dc7a9e3fc..db5125325 100644 --- a/400_xowa/src/gplx/xowa/htmls/core/Xow_hdump_mgr__load.java +++ b/400_xowa/src/gplx/xowa/htmls/core/Xow_hdump_mgr__load.java @@ -100,7 +100,7 @@ public class Xow_hdump_mgr__load implements Gfo_invk { } return src; } - private void Fill_page(Xoae_page wpg, Xoh_page hpg) { + public void Fill_page(Xoae_page wpg, Xoh_page hpg) { Xopg_html_data html_data = wpg.Html_data(); html_data.Display_ttl_(tmp_hpg.Display_ttl()); html_data.Content_sub_(tmp_hpg.Content_sub()); @@ -127,8 +127,9 @@ public class Xow_hdump_mgr__load implements Gfo_invk { int len = src_imgs.Len(); for (int i = 0; i < len; ++i) { gplx.xowa.files.Xof_fsdb_itm itm = src_imgs.Get_at(i); + if (itm.Orig_ttl() == null) continue; // skip any images without a src; occurs for when lilypond not available; ISSUE#:577 DATE:2019-09-30 wpg.Hdump_mgr().Imgs().Add(itm); - if (!Io_mgr.Instance.ExistsFil(itm.Html_view_url())) // if exists, don't add to file_queue; needed for packed; PAGE:en.w:Mexico; DATE:2016-08-14 + if (!Io_mgr.Instance.ExistsFil(itm.Html_view_url()))// if exists, don't add to file_queue; needed for packed; PAGE:en.w:Mexico; DATE:2016-08-14 wpg.File_queue().Add(itm); // add to file_queue for http_server } diff --git a/400_xowa/src/gplx/xowa/htmls/core/makes/tests/Xoh_make_fxt.java b/400_xowa/src/gplx/xowa/htmls/core/makes/tests/Xoh_make_fxt.java index a72f878bf..2a1dbe54f 100644 --- a/400_xowa/src/gplx/xowa/htmls/core/makes/tests/Xoh_make_fxt.java +++ b/400_xowa/src/gplx/xowa/htmls/core/makes/tests/Xoh_make_fxt.java @@ -22,6 +22,7 @@ public class Xoh_make_fxt { private final Xowe_wiki wiki; private final Xoh_make_mgr make_mgr; private final Gfo_test_list_base expd_redlinks = new Gfo_test_list_base(); + private Xoh_page actl; public Xoh_make_fxt() { // set member reference this.wiki = parser_fxt.Wiki(); @@ -75,7 +76,7 @@ public class Xoh_make_fxt { html = String_.Replace(html, "'", "\""); // init hpg - Xoh_page actl = new Xoh_page(); + actl = new Xoh_page(); actl.Ctor_by_hview(parser_fxt.Wiki(), Xoa_url.blank(), parser_fxt.Wiki().Ttl_parse(Xoa_page_.Main_page_bry), 1); // run make @@ -92,4 +93,7 @@ public class Xoh_make_fxt { // check redlinks expd_redlinks.Test(wiki.Html__hdump_mgr().Load_mgr().Make_mgr().Hctx().Page().Html_data().Redlink_list()); } + public void Exec__Fill_page() { + wiki.Html__hdump_mgr().Load_mgr().Fill_page(parser_fxt.Page(), actl); + } } diff --git a/400_xowa/src/gplx/xowa/xtns/scores/Score_html_fxt.java b/400_xowa/src/gplx/xowa/xtns/scores/Score_html_fxt.java new file mode 100644 index 000000000..e2dd7a25a --- /dev/null +++ b/400_xowa/src/gplx/xowa/xtns/scores/Score_html_fxt.java @@ -0,0 +1,64 @@ +/* +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.xtns.scores; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.xowa.htmls.core.htmls.*; import gplx.xowa.htmls.core.makes.tests.*; +class Score_html_fxt { + private final Xoh_make_fxt make_fxt = new Xoh_make_fxt(); + private final Xop_fxt parser_fxt = new Xop_fxt(); + private boolean hdump = false; + public void Clear() { + parser_fxt.Reset(); + make_fxt.Clear(); + } + public Score_html_fxt Hdump_n_() {return Hdump_(Bool_.N);} + public Score_html_fxt Hdump_y_() {return Hdump_(Bool_.Y);} + private Score_html_fxt Hdump_(boolean v) { + this.hdump = v; + return this; + } + public void Test__hview(String wtxt, String expd) { + parser_fxt.Hctx_(Xoh_wtr_ctx.Basic); + parser_fxt.Test_html_full_str(wtxt, expd); + } + public void Test__hdump(String wtxt, String save, String load) { + parser_fxt.Hctx_(Xoh_wtr_ctx.Hdump); + parser_fxt.Test_html_full_str(wtxt, save); + make_fxt.Test__make(save, make_fxt.Page_chkr().Body_(load)); + } + public void Exec__Fill_page() { + make_fxt.Exec__Fill_page(); + } + public String Basic__wtxt() { + return "\\relative c' { f d f a d f e d cis a cis e a g f e }"; + } + public String Basic__html(boolean dir_has_value) { + String img_id = hdump && dir_has_value ? "xoimg_0" : "xowa_score_0_img"; + String img_atrs = hdump && dir_has_value ? " alt=\"\"" : " src=\"\" "; + return String_.Concat_lines_nl + ( "" + , "
" + , "
\\relative c' { f d f a d f e d cis a cis e a g f e }"
+		, "
" + , "
" + , "" + , "

" + , " " + , " " + , " " + , "

" + ); + } +} diff --git a/400_xowa/src/gplx/xowa/xtns/scores/Score_html_tst.java b/400_xowa/src/gplx/xowa/xtns/scores/Score_html_tst.java new file mode 100644 index 000000000..5fb9bea59 --- /dev/null +++ b/400_xowa/src/gplx/xowa/xtns/scores/Score_html_tst.java @@ -0,0 +1,29 @@ +/* +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.xtns.scores; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import org.junit.*; +public class Score_html_tst { + private final Score_html_fxt fxt = new Score_html_fxt(); + @Before public void init() { + fxt.Clear(); + } + @Test public void Basic() { + String wtxt = fxt.Basic__wtxt(); + fxt.Test__hview(wtxt, fxt.Hdump_n_().Basic__html(Bool_.Y)); + fxt.Test__hdump(wtxt, fxt.Hdump_y_().Basic__html(Bool_.N), fxt.Basic__html(Bool_.Y)); + fxt.Exec__Fill_page(); + } +}