Subramanya Sastry has uploaded a new change for review.

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

Change subject: Categories in templates shouldn't force a line break during 
html2wt
......................................................................

Categories in templates shouldn't force a line break during html2wt

* Followup to 0337bb3b.
* Bug found in rt-testing.
* Added couple explicit tests to clarify expectation.
* Undid change to the parser test that was incorrectly updated
  in 0337bb3b to prevent it from failing.

Change-Id: I04f7ade6c4da701e57ba927dba4e2a3752bf5f40
---
M lib/wts.TagHandlers.js
M tests/parserTests.txt
2 files changed, 27 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/52/243352/1

diff --git a/lib/wts.TagHandlers.js b/lib/wts.TagHandlers.js
index 0f42bd4..2c1a605 100644
--- a/lib/wts.TagHandlers.js
+++ b/lib/wts.TagHandlers.js
@@ -1171,7 +1171,9 @@
                sepnls: {
                        before: function(node, otherNode) {
                                // sol-transparent link nodes are the only 
thing on their line
-                               if (DU.isSolTransparentLink(node) && 
!DU.isBody(otherNode)) {
+                               if (DU.isSolTransparentLink(node) &&
+                                       !DU.isEncapsulationWrapper(node) &&
+                                       !DU.isBody(otherNode)) {
                                        return { min: 1 };
                                } else {
                                        return {};
@@ -1179,7 +1181,9 @@
                        },
                        after: function(node, otherNode, state) {
                                // sol-transparent link nodes are the only 
thing on their line
-                               if (DU.isSolTransparentLink(node) && 
!DU.isBody(otherNode)) {
+                               if (DU.isSolTransparentLink(node) &&
+                                       !DU.isEncapsulationWrapper(node) &&
+                                       !DU.isBody(otherNode)) {
                                        return { min: 1 };
                                } else {
                                        return {};
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index 15f1cd1..89386a1 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -24932,7 +24932,7 @@
 !! html/parsoid
 <h2><span about="#mwt1" typeof="mw:Transclusion" data-parsoid="{}" 
data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo
 [[Category:Foo]]"}},"i":0}}]}'>foo </span><link rel="mw:PageProp/Category" 
href="./Category:Foo" about="#mwt1" data-parsoid="{}" /></h2>
 !! wikitext
-== {{echo|foo [[Category:Foo]]}}  ==
+== {{echo|foo [[Category:Foo]]}} ==
 !! end
 
 !! test
@@ -25682,6 +25682,26 @@
 # --------------------------------------------
 
 !! test
+1. Categories should always be serialized on their own line
+!! options
+parsoid=html2wt
+!! html/parsoid
+foo<link rel="mw:PageProp/Category" href="./Category:Foo">bar
+!! wikitext
+foo
+[[Category:Foo]]
+bar
+!! end
+
+!! test
+2. Categories that are part of templates should not introduce a line break
+!! wikitext
+foo {{echo|<span>bar</span> [[Category:baz]]}} bar
+!! html/parsoid
+<p>foo <span about="#mwt1" typeof="mw:Transclusion" 
data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;span>bar&lt;/span>
 [[Category:baz]]"}},"i":0}}]}'>bar</span><span about="#mwt1"> </span><link 
rel="mw:PageProp/Category" href="./Category:Baz" about="#mwt1" 
data-parsoid='{"stx":"simple","a":{"href":"./Category:Baz"},"sa":{"href":"Category:baz"}}'/>
 bar</p>
+!! end
+
+!! test
 Lists: Add space after bullets
 !! options
 parsoid=html2wt

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I04f7ade6c4da701e57ba927dba4e2a3752bf5f40
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>

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

Reply via email to