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

Reply via email to