jenkins-bot has submitted this change and it was merged.
Change subject: Bug 49739: Use named parameter if value contains '='
......................................................................
Bug 49739: Use named parameter if value contains '='
Fixes this test case:
echo '{{echo|foo}}' | node parse | sed s/foo/f=oo/g | node parse --html2wt
{{echo|1=f=oo}}
Added a test too.
Change-Id: I1619669f7112f8d1738abfe690656b1541e5b107
---
M js/lib/mediawiki.WikitextSerializer.js
M js/tests/parserTests.txt
2 files changed, 20 insertions(+), 4 deletions(-)
Approvals:
Subramanya Sastry: Looks good to me, approved
jenkins-bot: Verified
diff --git a/js/lib/mediawiki.WikitextSerializer.js
b/js/lib/mediawiki.WikitextSerializer.js
index 5d994ac..fbc9b2d 100644
--- a/js/lib/mediawiki.WikitextSerializer.js
+++ b/js/lib/mediawiki.WikitextSerializer.js
@@ -770,9 +770,9 @@
function escapeStr(str, buf, pos) {
var bracketPairStrippedStr = str.replace(/\[([^\[\]]*)\]/g,
'_$1_'),
genericMatch =
- pos.start && /^{/.test(str) ||
- pos.end && /}$/.test(str) ||
- /{{|}}|[\[\]\|]/.test(bracketPairStrippedStr);
+ pos.start && /^{/.test(str) ||
+ pos.end && /}$/.test(str) ||
+ /{{|}}|[\[\]\|]/.test(bracketPairStrippedStr);
if (genericMatch ||
// Can't allow '=' in positional parameters
(isPositional && /[=]/.test(str)))
@@ -2819,7 +2819,11 @@
//spc = ['', ' ', ' ',
''];
//}
- if (kSrc ===
numericIndex.toString()) {
+ if (kSrc ===
numericIndex.toString() &&
+ // Use named
serialization if the value
+ // contains a
'='
+
!/=/.test(tpl.params[k].wt))
+ {
numericIndex++;
// Escape as positional
parameter
v =
serializer.escapeTplArgWT(state,
diff --git a/js/tests/parserTests.txt b/js/tests/parserTests.txt
index d837580..f7ebf2c 100644
--- a/js/tests/parserTests.txt
+++ b/js/tests/parserTests.txt
@@ -1804,6 +1804,18 @@
</pre>
!! end
+!! test
+Parsoid: Serialize positional parameters with = in them as named parameter
+!! options
+parsoid=html2wt
+!! input
+{{echo|1 = f=oo}}
+!! result
+<p about="#mwt1" typeof="mw:Transclusion"
+data-mw='{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"f=oo"}},"i":0}'
+>foo</p>
+!! end
+
###
### HTML-pre (some to spec PHP parser behavior and some Parsoid-RT-centric)
###
--
To view, visit https://gerrit.wikimedia.org/r/72876
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I1619669f7112f8d1738abfe690656b1541e5b107
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: GWicke <[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