jenkins-bot has submitted this change and it was merged.
Change subject: mw.Title: Handle empty this.title
......................................................................
mw.Title: Handle empty this.title
Otherwise we break code like this:
mw.Title.newFromText( '.foo' ).getPrefixedText()
because this.title[0] won't be set and you can't uppercase it
Bug: T104377
Change-Id: I1dae1e63e474757da725f76bced442ebd5b76c25
---
M resources/src/mediawiki/mediawiki.Title.js
M tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js
2 files changed, 16 insertions(+), 2 deletions(-)
Approvals:
Jforrester: Looks good to me, approved
jenkins-bot: Verified
diff --git a/resources/src/mediawiki/mediawiki.Title.js
b/resources/src/mediawiki/mediawiki.Title.js
index e46eca5..661ab74 100644
--- a/resources/src/mediawiki/mediawiki.Title.js
+++ b/resources/src/mediawiki/mediawiki.Title.js
@@ -782,7 +782,10 @@
* @return {string}
*/
getName: function () {
- if ( $.inArray( this.namespace, mw.config.get(
'wgCaseSensitiveNamespaces' ) ) !== -1 ) {
+ if (
+ $.inArray( this.namespace, mw.config.get(
'wgCaseSensitiveNamespaces' ) ) !== -1 ||
+ !this.title.length
+ ) {
return this.title;
}
return this.title[0].toUpperCase() + this.title.slice(
1 );
diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js
b/tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js
index c0afe07..284f21a 100644
--- a/tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js
+++ b/tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js
@@ -163,7 +163,7 @@
}
} );
- QUnit.test( 'Basic parsing', 12, function ( assert ) {
+ QUnit.test( 'Basic parsing', 21, function ( assert ) {
var title;
title = new mw.Title( 'File:Foo_bar.JPG' );
@@ -181,6 +181,17 @@
title = new mw.Title( 'Foo#bar' );
assert.equal( title.getPrefixedText(), 'Foo' );
assert.equal( title.getFragment(), 'bar' );
+
+ title = new mw.Title( '.foo' );
+ assert.equal( title.getPrefixedText(), '.foo' );
+ assert.equal( title.getName(), '' );
+ assert.equal( title.getNameText(), '' );
+ assert.equal( title.getExtension(), 'foo' );
+ assert.equal( title.getDotExtension(), '.foo' );
+ assert.equal( title.getMain(), '.foo' );
+ assert.equal( title.getMainText(), '.foo' );
+ assert.equal( title.getPrefixedDb(), '.foo' );
+ assert.equal( title.getPrefixedText(), '.foo' );
} );
QUnit.test( 'Transformation', 11, function ( assert ) {
--
To view, visit https://gerrit.wikimedia.org/r/222132
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I1dae1e63e474757da725f76bced442ebd5b76c25
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Alex Monk <[email protected]>
Gerrit-Reviewer: Daniel Friesen <[email protected]>
Gerrit-Reviewer: Edokter <[email protected]>
Gerrit-Reviewer: Fomafix
Gerrit-Reviewer: Jack Phoenix <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits