Subramanya Sastry has uploaded a new change for review.

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

Change subject: (Bug 59674) Emit non-piped links for edited redirect links
......................................................................

(Bug 59674) Emit non-piped links for edited redirect links

* Added a new parser test which passes.

Change-Id: Ifa35e99a44af6792bdff92e7a139cb3ce374326b
---
M lib/mediawiki.WikitextSerializer.js
M tests/parserTests.txt
2 files changed, 15 insertions(+), 5 deletions(-)


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

diff --git a/lib/mediawiki.WikitextSerializer.js 
b/lib/mediawiki.WikitextSerializer.js
index 9891439..058ab66 100644
--- a/lib/mediawiki.WikitextSerializer.js
+++ b/lib/mediawiki.WikitextSerializer.js
@@ -1388,12 +1388,11 @@
        } else if ( node.childNodes.length ) {
                rtData.contentNode = node;
        } else if ( /^mw:PageProp\/redirect$/.test( rtData.type ) ) {
+               rtData.isRedirect = true;
                rtData.tail = '';
                rtData.prefix = dp.src ||
                        ( ( env.conf.wiki.mwAliases.redirect[0] || '#REDIRECT' 
) + ' ' );
-               rtData.content.string = dp.content ||
-                       (dp.sa && dp.sa.href) ||
-                       (href || '').replace(/^(\.\.?\/)*/, '').replace(/_/g, ' 
');
+               rtData.target.value = 
rtData.target.value.replace(/^(\.\.?\/)*/, '').replace(/_/g, ' ');
        }
 
        return rtData;
@@ -2032,7 +2031,9 @@
                        // The string value of the content, if it is plain text.
                        var linkTarget;
 
-                       if ( this._isSimpleWikiLink(env, dp, target, linkData) 
) {
+                       if ( linkData.isRedirect ) {
+                               cb( linkData.prefix + '[[' + target.value + 
']]', node );
+                       } else if ( this._isSimpleWikiLink(env, dp, target, 
linkData) ) {
                                // Simple case
                                if (!target.modified && 
!linkData.contentModified) {
                                        linkTarget = target.value;
@@ -2045,7 +2046,6 @@
                                cb( linkData.prefix + '[[' + linkTarget + ']]' 
+ linkData.tail, node );
                                return;
                        } else {
-
                                var usePipeTrick = this._usePipeTrick(env, dp, 
target, linkData);
 
                                // First get the content source
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index fbb317b..479a346 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -19765,6 +19765,16 @@
 <a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink">New 
PMID</a>
 !! end
 
+!! test
+Edited Redirect link should emit a non-piped wikitext link
+!! options
+parsoid=html2wt
+!! input
+#REDIRECT [[Bar]]
+!! result
+<link rel="mw:PageProp/redirect" href="Bar" data-parsoid='{"src":"#REDIRECT 
","a":{"href":"./Foo"},"sa":{"href":"Foo"}}'>
+!! end
+
 # -----------------------------------------------------------------
 # End of section for Parsoid-only html2wt tests for serialization
 # of new content

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifa35e99a44af6792bdff92e7a139cb3ce374326b
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