Arlolra has uploaded a new change for review.
https://gerrit.wikimedia.org/r/179543
Change subject: Fix unnecessary nowiki escaping of : inside elements in lists
......................................................................
Fix unnecessary nowiki escaping of : inside elements in lists
* A follow up to 220374b36ac70f100333050cffdfc6de8d51876e.
Change-Id: I0bfc7cc5ae0c59c1552b1a5e7500027cf2814ee0
---
M lib/wts.escapeWikitext.js
M tests/parserTests-blacklist.js
2 files changed, 3 insertions(+), 18 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid
refs/changes/43/179543/1
diff --git a/lib/wts.escapeWikitext.js b/lib/wts.escapeWikitext.js
index 63e9ff6..a6a31ee 100644
--- a/lib/wts.escapeWikitext.js
+++ b/lib/wts.escapeWikitext.js
@@ -47,9 +47,9 @@
};
WEHP.liHandler = function(liNode, state, text, opts) {
- // For <dt> nodes, ":" anywhere trigger nowiki
+ // For <dt> nodes, ":" trigger nowiki outside of elements
// For first nodes of <li>'s, bullets in sol posn trigger escaping
- if (liNode.nodeName === 'DT' && /:/.test(text)) {
+ if (liNode.nodeName === 'DT' && opts.node.parentNode === liNode &&
/:/.test(text)) {
return true;
} else if (state.currLine.text === '' &&
this.isFirstContentNode(opts.node)) {
return text.match(/^[#\*:;]/);
diff --git a/tests/parserTests-blacklist.js b/tests/parserTests-blacklist.js
index 8032601..feba40a 100644
--- a/tests/parserTests-blacklist.js
+++ b/tests/parserTests-blacklist.js
@@ -431,7 +431,6 @@
add("wt2wt", "Templates: Handle comments in the target", "{{echo\n<!-- should
be ignored -->\n|foo}}\n\n{{echo<!-- should be ignored
-->\n|foo}}\n\n{{echo<!-- should be ignored -->|foo}}\n\n{{echo|foo}}");
add("wt2wt", "4. Indent-Pre and extension tags", " a <gallery>\n
File:foobar.jpg\n </gallery>\n");
add("wt2wt", "Definition lists: self-closed tag", ";one<br />two : two-line
fun");
-add("wt2wt", "Definition Lists: colons occurring in tags",
";a:b\n;'''<nowiki>a:b</nowiki>'''\n;<i><nowiki>a:b</nowiki></i>\n;<span><nowiki>a:b</nowiki></span>\n;<div><nowiki>a:b</nowiki></div>\n;{{echo|a:b}}\n;{{echo|''<nowiki>a:b</nowiki>''}}");
add("wt2wt", "BUG 289: \">\"-token in bracketed URL",
"[http://www.example.com/ <hello> stuff]\n");
add("wt2wt", "BUG 289: literal \">\"-token in bracketed URL",
"[http://www.example.com/ <b>html</b> stuff]\n");
add("wt2wt", "BUG 289: literal double quote in bracketed URL",
"[http://www.example.com/ \"hello\" stuff]\n");
@@ -1040,7 +1039,7 @@
add("html2wt", "Definition Lists: Mixed Lists: Test 10", "*#; foo \n*#:
bar\n");
add("html2wt", "Definition Lists: Mixed Lists: Test 11", "\n*#*#;*;; foo
:bar\n*#*#; boo :baz\n");
add("html2wt", "Definition Lists: Weird Ones: Test 1", "\n*#;*::;; foo : bar
(who uses this?)\n");
-add("html2wt", "Definition Lists: colons occurring in tags", "; a\n: b\n;
'''<nowiki>a:b</nowiki>'''\n; ''<nowiki>a:b</nowiki>''\n;
<span><nowiki>a:b</nowiki></span>\n; <div><nowiki>a:b</nowiki></div>\n; a\n:
b\n; ''<nowiki>a:b</nowiki>''\n");
+add("html2wt", "Definition Lists: colons occurring in tags", "; a\n: b\n;
'''a:b'''\n; ''a:b''\n; <span>a:b</span>\n; <div>a:b</div>\n; a\n: b\n;
''a:b''\n");
add("html2wt", "Definition Lists: colons and tables 1", ": {|\n\n| x\n|}\n\n:
{|\n\n| y\n|}\n");
add("html2wt", "Definition Lists: colons and tables 2", ": {|\n\n| x\n|}\n:
{|\n\n| y\n|}\n");
add("html2wt", "External links: URL in text", "URL in text:
http://example.com\n");
@@ -2021,20 +2020,6 @@
add("selser", "Definition Lists: Weird Ones: Test 1 [[[[[[2]]]]]]", "*#:
m79ersaiyeqaor\n;*::;; foo : bar (who uses this?)");
add("selser", "Definition Lists: Weird Ones: Test 1 [[[[[[[2]]]]]]]",
"*#;q93hogh7bi2ro1or\n*::;; foo : bar (who uses this?)");
add("selser", "Definition Lists: Weird Ones: Test 1 [[[[2]]]]", "*#
mug1j4xbiskprpb9\n#;*::;; foo : bar (who uses this?)");
-add("selser", "Definition Lists: colons occurring in tags
[[0,3,0,[1],2,[[2]],0,0,0,[3],3,3,[4,0],0,1]]",
";a\n;'''<nowiki>a:b</nowiki>'''\n:
ys0n0w3d4116ecdi\n;<i><nowiki>fy196dn5diyvte29a:b</nowiki></i>\n;<span>a:b</span>\n;:rvorhd48coapds4i}}\n;{{echo|''a:b''}}");
-add("selser", "Definition Lists: colons occurring in tags
[[[4],0,2,3,0,2,3,0,0,[1],0,1,[0,4],4,2]]", ";9gfzwpnyxe5yu8fr:b\n:
loymwoag7t4kj4i\n: an61hey1xada38fr\n;<i>a:b</i>\n;<span>a:b</span>\n;<div
data-foobar=\"my31jm28o5x3l3di\"><nowiki>a:b</nowiki></div>\n;{{echo|a:bsyjfu7my13fk1emi\n:
humc3hu91lhj8aor\n: cxt9vsc9ijrwwmi\n;{{echo|''a:b''}}");
-add("selser", "Definition Lists: colons occurring in tags [2]",
"qg79k8v4av6de7b9\n;a:b\n;'''a:b'''\n;<i>a:b</i>\n;<span>a:b</span>\n;<div>a:b</div>\n;{{echo|a:b}}\n;{{echo|''a:b''}}");
-add("selser", "Definition Lists: colons occurring in tags
[[[3],0,0,4,4,0,3,1,0,[1],4,3,3,0,3]]", ";:b\n: 51som0s9u4lmzpvi\n:
ch4hiy5obuo9a4i\n;<i>a:b</i>\n;<span><nowiki>a:b</nowiki></span>\n;<div
data-foobar=\"973qaj55ay2b7qfr\"><nowiki>a:b</nowiki></div>\n:
rtjgxstacmrvygb9\n");
-add("selser", "Definition Lists: colons occurring in tags
[[0,2,0,2,0,3,2,[[2]],0,2,0,4,2,2,[[3],4,4,0]]]", ";a\n: fj95vp8edfl59udi:b\n:
u24q4w5kw2g4aemi\n;'''a:b'''\n:
h4vsyritaat3mcxr\n;<span><nowiki>ihs4g0zd6w9daemia:b</nowiki></span>\n:
7jv6vu2zrfx39pb9\n;<div>a:b</div>\n: xedf27pleyuy2e29\n:
xftw6z4tzn4jkyb9:b}}\n:
dpnbk1jpt1jlwhfr\n;<nowiki></nowiki>6c9jmtk06vx9lik9q75d7mgt3ghhyqfr}}");
-add("selser", "Definition Lists: colons occurring in tags
[[3,3,2,2,3,0,2,1,4,1,3,4,1,4,4]]", ": rkfl49pzedp74x6r\n:
j4bea9vr60llerk9\n;'''a:b'''\n;<i>a:b</i>\n:
mrdchqoarp2pgb9\n;<span><nowiki>a:b</nowiki></span>\n:
6vvs2ldmzswf80k9\n;<div><nowiki>a:b</nowiki></div>\n: vo4ojp5oe96647vi:b}}\n:
kh9h26ygii3eg66r\n: j5ih9vueg4l323xr");
-add("selser", "Definition Lists: colons occurring in tags
[[[3],0,0,2,3,[2],2,1,0,[[2]],0,0,4,0,[1,0,3,2]]]", ";:b\n:
6h7k5vwrusmm42t9\n;'''a:b'''\n;8rd6vrl47o0w9udi<i><nowiki>a:b</nowiki></i>\n:
32oaq1raqxb6gvi\n;<span><nowiki>a:b</nowiki></span>\n;<div><nowiki>uqtta9p97bep14ia:b</nowiki></div>\n;{{echo|a\n:
dz52ya2iz46j38fr\n;{{echo|yphodo863oapds4i}}");
-add("selser", "Definition Lists: colons occurring in tags
[[4,3,2,0,0,[[4]],0,4,4,0,2,4,3,3,[1,0,[3],[2]]]]", ": ou6k8yl61aotuik9\n:
s8ck7qu9l7vte29\n;'''a:b'''\n;<i>g4rfjaxfaohqto6r</i>\n: rt1n440zvjn3766r\n:
tz22po3agxyzm2t9\n;<div>a:b</div>\n: snxgpqwbdexnipb9\n:
ikuc8ebf076fajor\n;{{echo|''<nowiki/>''<nowiki>pm92s2mj26clq5mi}}</nowiki>");
-add("selser", "Definition Lists: colons occurring in tags
[[1,1,3,[3],0,[3],0,1,4,[1],0,3,2,0,[4,0,[2],[4]]]]",
";a:b\n;\n;\n;<span>a:b</span>\n: h8hh4v34xh2maemi\n;<div
data-foobar=\"u0847t68ar2akyb9\"><nowiki>a:b</nowiki></div>\n:
sma0ums92l2z9f6r:b}}\n;8hiue1du4ujcq5miecho|''<nowiki>eesi68mx5ok1emia:b</nowiki>''<nowiki>x6nz2gbsesdfs9k9</nowiki>");
-add("selser", "Definition Lists: colons occurring in tags
[[3,[4],0,[[2]],4,0,4,[4],0,[[2]],2,[[4],2],0,0,4]]",
":5lkbigrdwdx11yvi\n;'''<nowiki>cqslr7dvsnd5z5mia:b</nowiki>'''\n:
masspab3x9don7b9\n;<i>a:b</i>\n:
oa29nopebnoy9zfr\n;98d7as2k961ug14i\n;<div><nowiki>1bwhvaem3l0izfra:b</nowiki></div>\n:
vnpj9u2knmmzehfr\n;<nowiki>zv7k43lu5scq5mi</nowiki>1f68p993haorecho|a:b}}\n:
hxhtxsqncdi");
-add("selser", "Definition Lists: colons occurring in tags
[[0,0,4,[2],3,[4],0,[[3]],4,[[3]],0,2,2,0,[0,0,0,1]]]", ";a:b\n:
h3264ujrqrkq33di\n;h56kdmfdrrv34n29'''<nowiki>a:b</nowiki>'''\n;fxo6p8aww4p9zfr\n;<span></span>\n:
h438k9e0o3aexw29\n;<div></div>\n: diwu40dj1dims4i\n;{{echo|a\n:
v7xj8olgqb4eu3di:b}}\n;{{echo|''a:b''}}");
-add("selser", "Definition Lists: colons occurring in tags
[[[2],[4],0,0,2,2,0,0,0,[3],0,[3,0],1,0,[3,3,[3],1]]]",
";2i4uz6v2wrjjdcxra:8rtdy7xxnyjk0529\n;'''a:b'''\n: f7n8b211erhehfr\n:
lxtc8w2sd6phw7b9\n;<i>a:b</i>\n;<span>a:b</span>\n;\n;echo|a:b}}\n;''<nowiki/>''}}");
-add("selser", "Definition Lists: colons occurring in tags [1]",
";a:b\n;'''a:b'''\n;<i>a:b</i>\n;<span>a:b</span>\n;<div>a:b</div>\n;{{echo|a:b}}\n;{{echo|''a:b''}}");
-add("selser", "Definition Lists: colons occurring in tags
[[3,1,0,4,4,3,0,1,0,3,0,4,1,0,2]]", ":b\n: 31ffgp6invtb7qfr\n:
0wohsqpeyj0s5rk9\n;<span><nowiki>a:b</nowiki></span>\n: w56o0bxf1aif6r:b}}\n:
wfzg6tcjj6f20529\n;{{echo|''a:b''}}");
add("selser", "BUG 289: \">\"-token in bracketed URL [2]",
"ll0lxyd1rfgpsyvi\n\n[http://www.example.com/<hello> stuff]");
add("selser", "BUG 289: \">\"-token in bracketed URL [1]",
"[http://www.example.com/<hello> stuff]");
add("selser", "BUG 289: \">\"-token in bracketed URL [[2]]",
"kemi29jie4b1emi[http://www.example.com/<hello> stuff]");
--
To view, visit https://gerrit.wikimedia.org/r/179543
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0bfc7cc5ae0c59c1552b1a5e7500027cf2814ee0
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits