Subramanya Sastry has uploaded a new change for review.
https://gerrit.wikimedia.org/r/60784
Change subject: Fix excess nowiki escaping in list elements
......................................................................
Fix excess nowiki escaping in list elements
* "<ul><li> <s></s>: a</li></ul>" was getting serialized to
"* <s></s><nowiki>: a</nowiki>" because of a buggy wt-escape
handler for list elements.
* This patch fixes it and updates wt_escape.tests.txt
TODO: Migrate recent changes to this file to parserTests.txt
Change-Id: I495873740a8ad0cd4ce471cd57c514378e7d88a5
---
M js/lib/mediawiki.WikitextSerializer.js
M js/tests/wt_escape.tests.txt
2 files changed, 7 insertions(+), 4 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Parsoid
refs/changes/84/60784/1
diff --git a/js/lib/mediawiki.WikitextSerializer.js
b/js/lib/mediawiki.WikitextSerializer.js
index 9ff2992..c89535e 100644
--- a/js/lib/mediawiki.WikitextSerializer.js
+++ b/js/lib/mediawiki.WikitextSerializer.js
@@ -153,9 +153,9 @@
}
};
-WEHP.liHandler = function(liNode, state, text) {
+WEHP.liHandler = function(liNode, state, text, opts) {
// Only bullets at the beginning of the list trigger escaping
- if (DU.isText(liNode.firstChild) && state.currLine.text === '') {
+ if (state.currLine.text === '' && opts.node === liNode.firstChild) {
return text.match(/^[#\*:;]/);
} else {
return false;
@@ -465,7 +465,7 @@
// Escape 'res' if necessary
var origRes = res;
if (this.escapeText) {
- res = this.serializer.escapeWikiText(this, res, {
isLastChild: !node.nextSibling } );
+ res = this.serializer.escapeWikiText(this, res, { node:
node, isLastChild: !node.nextSibling } );
this.escapeText = false;
}
@@ -1588,7 +1588,6 @@
state.inWideTD = true;
}
emitStartTag(res, node, state, cb);
- // state.resetCurrLine(node);
state.serializeChildren(node, cb,
state.serializer.wteHandlers.tdHandler);
// FIXME: bad state hack!
state.inWideTD = undefined;
diff --git a/js/tests/wt_escape.tests.txt b/js/tests/wt_escape.tests.txt
index 5a5ee87..47a7f72 100644
--- a/js/tests/wt_escape.tests.txt
+++ b/js/tests/wt_escape.tests.txt
@@ -247,6 +247,8 @@
*]]bar <span><nowiki>[[foo]]</nowiki></span>
*=bar <span>foo]]</span>=
+
+* <s></s>: a
!! result
<ul><li> bar <span>[[foo]]</span>
</li></ul>
@@ -258,6 +260,8 @@
</li></ul>
<ul><li>=bar <span>foo]]</span>=
</li></ul>
+<ul><li> <s></s>: a
+</li></ul>
!!end
--
To view, visit https://gerrit.wikimedia.org/r/60784
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I495873740a8ad0cd4ce471cd57c514378e7d88a5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits