GWicke has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/80310


Change subject: Fix <nowiki/> insertion between adjacent quote elements
......................................................................

Fix <nowiki/> insertion between adjacent quote elements

_getPrecedingQuoteElement never seems to have worked for simple test cases
like

echo '<i>foo</i><b>bar</b>' | node parse --html2wt

Handle the simple case so that nowiki escaping actually happens.

Also add a temporary test case and update the blacklist for two html2html
tests that fail because of the nowiki insertion.

Change-Id: Ia533c3168477f1e833011199628680133a9933af
---
M js/lib/mediawiki.WikitextSerializer.js
M js/tests/parserTests-blacklist.js
M js/tests/parserTests.txt
3 files changed, 17 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Parsoid 
refs/changes/10/80310/1

diff --git a/js/lib/mediawiki.WikitextSerializer.js 
b/js/lib/mediawiki.WikitextSerializer.js
index a5c9187..8fd2df4 100644
--- a/js/lib/mediawiki.WikitextSerializer.js
+++ b/js/lib/mediawiki.WikitextSerializer.js
@@ -2032,6 +2032,10 @@
                return prev;
        }
 
+       if (DU.isQuoteElt(prev)) {
+               return prev;
+       }
+
        // Move up first until we have a sibling
        while (node && !node.previousSibling) {
                node = node.parentNode;
diff --git a/js/tests/parserTests-blacklist.js 
b/js/tests/parserTests-blacklist.js
index 8ec4525..d9caa92 100644
--- a/js/tests/parserTests-blacklist.js
+++ b/js/tests/parserTests-blacklist.js
@@ -767,6 +767,7 @@
 add("html2html", "External image from https");
 add("html2html", "External links: Clickable images");
 add("html2html", "External links: wiki links within external link (Bug 3695)");
+add("html2html", "Bug 2702: Mismatched <i>, <b> and <a> tags are invalid");
 add("html2html", "Bug 4781: %26 in URL");
 add("html2html", "Bug 4781, 5267: %25 in URL");
 add("html2html", "Bug 4781, 5267: %28, %29 in URL");
@@ -1042,6 +1043,7 @@
 add("html2html", "Fuzz testing: encoded newline in generated HTML replacements 
(bug 6577)");
 add("html2html", "Parsing optional HTML elements (Bug 6171)");
 add("html2html", "Correct handling of <td>, <tr> (Bug 6171)");
+add("html2html", "Mixing markup for italics and bold");
 add("html2html", "Special page transclusion");
 add("html2html", "Special page transclusion twice (bug 5021)");
 add("html2html", "Transclusion of nonexistent MediaWiki message");
diff --git a/js/tests/parserTests.txt b/js/tests/parserTests.txt
index 77523bf..7bd379c 100644
--- a/js/tests/parserTests.txt
+++ b/js/tests/parserTests.txt
@@ -13260,6 +13260,17 @@
 </pre>
 !!end
 
+!! test
+Parsoid: quote serialization
+Temporary test, should really minimize nesting and avoid nowiki
+!! options
+parsoid=html2wt
+!! input
+''foo''<nowiki/>'''bar'''
+!! result
+<i>foo</i><b>bar</b>
+!! end
+
 # Note the results may be incorrect, as parserTest output included this:
 # XML error: Mismatched tag at byte 6120:
 # ...<dd> </dt></dl> </dd...

-- 
To view, visit https://gerrit.wikimedia.org/r/80310
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia533c3168477f1e833011199628680133a9933af
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: GWicke <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to