From b73a28641f041ea2109ce9a8fd1547582205a179 Mon Sep 17 00:00:00 2001 From: Andrew H Date: Sun, 27 Dec 2015 04:04:40 +0000 Subject: [PATCH] Support fragments in getUrl() of mw.Title Now that mw.util.getUrl() supports fragments, pass it the title including fragments. Bug: T103715 Change-Id: I0e3665e74fd4208a7ab0a9b361803aa37f22d61b --- resources/src/mediawiki/mediawiki.Title.js | 7 ++++++- .../suites/resources/mediawiki/mediawiki.Title.test.js | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/resources/src/mediawiki/mediawiki.Title.js b/resources/src/mediawiki/mediawiki.Title.js index 47250eea0a..033636cfea 100644 --- a/resources/src/mediawiki/mediawiki.Title.js +++ b/resources/src/mediawiki/mediawiki.Title.js @@ -906,7 +906,12 @@ * @return {string} */ getUrl: function ( params ) { - return mw.util.getUrl( this.toString(), params ); + var fragment = this.getFragment(); + if ( fragment ) { + return mw.util.getUrl( this.toString() + '#' + this.getFragment(), params ); + } else { + return mw.util.getUrl( this.toString(), params ); + } }, /** diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js index 4bcb12e6ae..2e63b7a67b 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js @@ -332,7 +332,7 @@ } ); - QUnit.test( 'getUrl', 3, function ( assert ) { + QUnit.test( 'getUrl', 4, function ( assert ) { var title; // Config @@ -344,6 +344,9 @@ title = new mw.Title( 'John Doe', 3 ); assert.equal( title.getUrl(), '/wiki/User_talk:John_Doe', 'Escaping in title and namespace for urls' ); + + title = new mw.Title( 'John Cena#And_His_Name_Is', 3 ); + assert.equal( title.getUrl( { meme: true } ), '/wiki/User_talk:John_Cena?meme=true#And_His_Name_Is', 'title with fragment and query parameter' ); } ); QUnit.test( 'newFromImg', 44, function ( assert ) { -- 2.20.1