Arlolra has uploaded a new change for review. https://gerrit.wikimedia.org/r/226667
Change subject: T104554: Strip whitespace after newlines in p / td ...................................................................... T104554: Strip whitespace after newlines in p / td * Only in new elements and when scrubWikitext is enabled. * Prevent indent-pre nowikis. * Also, moves this code to the normalizeDOM pass. Change-Id: If4972e4523a191a8b141a598080822e7a7260f48 --- M lib/mediawiki.WikitextSerializer.js M lib/wts.normalizeDOM.js M tests/parserTests-blacklist.js M tests/parserTests.txt 4 files changed, 9 insertions(+), 7 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid refs/changes/67/226667/1 diff --git a/lib/mediawiki.WikitextSerializer.js b/lib/mediawiki.WikitextSerializer.js index d5df07b..753dd3b 100644 --- a/lib/mediawiki.WikitextSerializer.js +++ b/lib/mediawiki.WikitextSerializer.js @@ -1244,9 +1244,6 @@ if (!reqd) { nowiki = nowiki.replace(/^<nowiki>(\s+)<\/nowiki>/, '$1'); - } else if (env.scrubWikitext) { - nowiki = nowiki.replace(/^<nowiki>(\s+)<\/nowiki>/, ''); - rest = rest.replace(/^\s*/, ''); } out = out + nowiki + rest + pieces[i + 3]; } diff --git a/lib/wts.normalizeDOM.js b/lib/wts.normalizeDOM.js index 4b510f3..2976307 100644 --- a/lib/wts.normalizeDOM.js +++ b/lib/wts.normalizeDOM.js @@ -135,7 +135,14 @@ if (emptyTag) { var next = node.nextSibling; node.parentNode.removeChild(node); - node = next; + return next; + } + + // Strip whitespace after newlines in new paragraphs and table cells + // to prevent indent-pre nowiki'ing. + var preventIndentPre = ['P', 'TD'].indexOf(node.nodeName) > -1; + if (preventIndentPre) { + node.textContent = node.textContent.replace(/^\s+/mg, ''); } return node; diff --git a/tests/parserTests-blacklist.js b/tests/parserTests-blacklist.js index 3c827d6..4d5d865 100644 --- a/tests/parserTests-blacklist.js +++ b/tests/parserTests-blacklist.js @@ -1734,7 +1734,6 @@ add("html2wt", "Improperly nested inline or quotes tags with whitespace in between", "<span> <s>x</s></span><s> </s>\n''' ''x'''''<nowiki/>'' ''\n"); add("html2wt", "Image: upright option (parsoid)", "[[File:Foobar.jpg|thumb|caption]]\n[[File:Foobar.jpg|thumb|caption]]\n[[File:Foobar.jpg|thumb|500x500px|caption]]\n"); add("html2wt", "Image: upright option is ignored on inline and frame images (parsoid)", "[[File:Foobar.jpg|500x500px|caption]]\n"); -add("html2wt", "3. Indent Pre Nowiki: suppress whitespace after newlines in new paragraph or table cell", "Foo\n<nowiki> bar\nbaz</nowiki>\n\n{|\n|Foo\n<nowiki> bar\n </nowiki>baz bang\n|}\n"); // Blacklist for selser diff --git a/tests/parserTests.txt b/tests/parserTests.txt index f149c1b..b4be0eb 100644 --- a/tests/parserTests.txt +++ b/tests/parserTests.txt @@ -24930,8 +24930,7 @@ baz {| -|- -| Foo +|Foo bar baz bang |} -- To view, visit https://gerrit.wikimedia.org/r/226667 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If4972e4523a191a8b141a598080822e7a7260f48 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/services/parsoid Gerrit-Branch: master Gerrit-Owner: Arlolra <abrea...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits