jenkins-bot has submitted this change and it was merged.
Change subject: Scrub table cells starting with escapable prefixes
......................................................................
Scrub table cells starting with escapable prefixes
* Add a space to prevent nowiki'ing.
Bug: T93116
Change-Id: I8a29df6d00af596228b7385824243158fd92424e
---
M lib/wts.normalizeDOM.js
M tests/parserTests.txt
2 files changed, 81 insertions(+), 0 deletions(-)
Approvals:
Subramanya Sastry: Looks good to me, approved
jenkins-bot: Verified
diff --git a/lib/wts.normalizeDOM.js b/lib/wts.normalizeDOM.js
index f69cac3..c3b3752 100644
--- a/lib/wts.normalizeDOM.js
+++ b/lib/wts.normalizeDOM.js
@@ -121,6 +121,7 @@
* 2. Strip empty headings and style tags
* 3. Force SOL transparent links to serialize before/after heading
* 4. Trailing spaces are migrated out of links
+ * 5. Space is added before escapable prefixes in table cells
*/
function normalizeNode(env, node) {
@@ -157,6 +158,16 @@
}
return node;
+ // Table cells
+ } else if (node.nodeName === 'TD') {
+ var first = node.firstChild;
+ // Emit a space before escapable prefix
+ // This is preferable to serializing with a nowiki.
+ if (DU.isText(first) && /^[\-+]/.test(first.nodeValue)) {
+ first.nodeValue = ' ' + first.nodeValue;
+ }
+ return node;
+
// Default
} else {
return node;
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index b9ff013..b54dddf 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -25220,6 +25220,76 @@
[[Foo ]]'''bar'''
!! end
+!! test
+1. Table cells with escapable prefixes
+!! options
+parsoid={
+ "modes": ["html2wt"],
+ "scrubWikitext": false
+}
+!! html
+<table>
+<tr><td>a</td></tr>
+<tr><td>-</td></tr>
+<tr><td>+</td></tr>
+</table>
+!! wikitext
+{|
+|a
+|-
+|<nowiki>-</nowiki>
+|-
+|<nowiki>+</nowiki>
+|}
+!! end
+
+!! test
+2. Table cells with escapable prefixes
+!! options
+parsoid={
+ "modes": ["html2wt"],
+ "scrubWikitext": true
+}
+!! html
+<table>
+<tr><td>a</td></tr>
+<tr><td>-</td></tr>
+<tr><td>+</td></tr>
+</table>
+!! wikitext
+{|
+|a
+|-
+| -
+|-
+| +
+|}
+!! end
+
+!! test
+3. Table cells with escapable prefixes
+!! options
+parsoid={
+ "modes": ["html2wt"],
+ "scrubWikitext": true
+}
+!! html
+<table data-parsoid='{}'>
+<tr data-parsoid='{}'><td data-parsoid='{}'>a</td></tr>
+<tr data-parsoid='{}'><td data-parsoid='{}'>-</td></tr>
+<tr data-parsoid='{}'><td data-parsoid='{}'>+</td></tr>
+</table>
+!! wikitext
+{|
+|a
+|-
+|<nowiki>-</nowiki>
+|-
+|<nowiki>+</nowiki>
+|}
+!! end
+
+
# ---------------------------------------------------
# End of tests spec'ing wikitext serialization norms |
# ---------------------------------------------------
--
To view, visit https://gerrit.wikimedia.org/r/229186
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I8a29df6d00af596228b7385824243158fd92424e
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <[email protected]>
Gerrit-Reviewer: Arlolra <[email protected]>
Gerrit-Reviewer: Subramanya Sastry <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits