1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00
This commit is contained in:
gnosygnu
2015-01-25 20:56:50 -05:00
parent 1b0042ef8a
commit efaf9dcd00
447 changed files with 10258 additions and 3016 deletions

View File

@@ -105,7 +105,7 @@ public class Xop_xnde_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
for (int i = 0; i < subs_len; i++) // always evaluate subs; handle <poem>{{{1}}}</poem>; DATE:2014-03-03
this.Subs_get(i).Tmpl_evaluate(ctx, src, caller, bfr);
bfr.Add_mid(src, tag_close_bgn, tag_close_end); // write tag_end
if (tag_close_bgn == Int_.MinValue) {// xtn is unclosed; add a </xtn> else rest of page will be gobbled; DATE:2014-11-13
if (tag_close_bgn == Int_.MinValue) {// xtn is unclosed; add a </xtn> else rest of page will be gobbled; PAGE:en.w:Provinces_and_territories_of_Canada DATE:2014-11-13
bfr.Add(tag.XtnEndTag());
bfr.Add(Byte_ascii.Gt_bry);
}

View File

@@ -105,7 +105,7 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
if (ctx.Parse_tid() == Xop_parser_.Parse_tid_page_wiki) {
if (ctx_cur_tid_is_tblw_atr_owner) // unknown_tag is occurring inside tblw element (EX: {| style='margin:1em<f'); just add to txt tkn
return ctx.Lxr_make_txt_(cur_pos);
else { // unknown_tag is occurring anyhwere else; escape < to &lt; and resume from character just after it;
else { // unknown_tag is occurring anywhere else; escape < to &lt; and resume from character just after it;
ctx.Subs_add(root, Make_bry_tkn(tkn_mkr, src, bgn_pos, cur_pos));
return cur_pos;
}
@@ -634,19 +634,23 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
case Xop_xnde_tag_.Tid_imageMap: xnde_xtn = tkn_mkr.Xnde_imageMap(); break;
case Xop_xnde_tag_.Tid_hiero: xnde_xtn = tkn_mkr.Xnde_hiero(); break;
case Xop_xnde_tag_.Tid_inputBox: xnde_xtn = tkn_mkr.Xnde_inputbox(); break;
case Xop_xnde_tag_.Tid_pages: {
case Xop_xnde_tag_.Tid_dynamicPageList:
case Xop_xnde_tag_.Tid_pages: {
switch (tag_id) {
case Xop_xnde_tag_.Tid_pages: xnde_xtn = tkn_mkr.Xnde_pages(); break;
case Xop_xnde_tag_.Tid_dynamicPageList: xnde_xtn = tkn_mkr.Xnde_dynamicPageList(); break;
}
boolean enabled = ctx.Wiki().Xtn_mgr().Xtn_proofread().Enabled();
if (enabled)
xnde_xtn = tkn_mkr.Xnde_pages();
else
if (!enabled) { // if Page / Index ns does not exist, disable xtn and escape content; DATE:2014-11-28
escaped = true;
xnde_xtn = null;
}
break;
}
case Xop_xnde_tag_.Tid_pagequality: xnde_xtn = tkn_mkr.Xnde_pagequality(); break;
case Xop_xnde_tag_.Tid_pagelist: xnde_xtn = tkn_mkr.Xnde_pagelist(); break;
case Xop_xnde_tag_.Tid_section: xnde_xtn = tkn_mkr.Xnde_section(); break;
case Xop_xnde_tag_.Tid_categoryList: xnde_xtn = tkn_mkr.Xnde_categoryList(); break;
case Xop_xnde_tag_.Tid_dynamicPageList: xnde_xtn = tkn_mkr.Xnde_dynamicPageList(); break;
case Xop_xnde_tag_.Tid_syntaxHighlight: xnde_xtn = tkn_mkr.Xnde_syntaxHighlight(); break;
case Xop_xnde_tag_.Tid_score: xnde_xtn = tkn_mkr.Xnde_score(); break;
case Xop_xnde_tag_.Tid_translate: xnde_xtn = tkn_mkr.Xnde_translate(); break;

View File

@@ -181,4 +181,18 @@ public class Xop_xnde_wkr__err_dangling_tst {
@Test public void Underline() { // PURPOSE: 2nd <u> should auto-close; PAGE:en.b:Textbook_of_Psychiatry/Alcoholism_and_Psychoactive_Substance_Use_Disorders DATE:2014-09-05
fxt.Test_html_full_str("a<u>b<u>c", "a<u>b</u>c");
}
@Test public void Xtn_template() { // PURPOSE: dangling xtns within templates should be auto-closed inside template, not in calling page; PAGE:en.w:Provinces_and_territories_of_Canada DATE:2014-11-13
fxt.Init_page_create("Template:A", "<poem>A");
fxt.Test_parse_page_all_str(String_.Concat_lines_nl_skip_last
( "{{A}}"
, " b" // poem should not extend to " b"
), String_.Concat_lines_nl_skip_last
( "<div class=\"poem\">"
, "<p>"
, "A"
, "</p>"
, "</div>" // poem ends here
, " b"
));
}
}

View File

@@ -122,4 +122,23 @@ public class Xop_xnde_wkr__nowiki_tst {
( "<nowiki>[</nowiki>[[A]]<nowiki>]</nowiki>"
, "[<a href=\"/wiki/A\">A</a>]"); // was showing up as [[[A]]]
}
@Test public void Tblw_tr() { // PURPOSE: dash should be escaped in nowiki PAGE:de.w:Liste_von_Vereinen_und_Vereinigungen_von_Gläubigen_(römisch-katholische_Kirche) DATE:2015-01-08
fxt.Test_parse_page_all_str(String_.Concat_lines_nl_skip_last
( "{|"
, "|-"
, "|a"
, "|<nowiki>-</nowiki>" // do not treat as "|-"
, "|}"
), String_.Concat_lines_nl_skip_last
( "<table>"
, " <tr>"
, " <td>a"
, " </td>"
, " <td>-" // "|" creates <td>; "-" is rendered literally
, " </td>"
, " </tr>"
, "</table>"
, ""
));
}
}