-/*jshint -W024 */
( function ( mw, $ ) {
var repeat = function ( input, multiplier ) {
return new Array( multiplier + 1 ).join( input );
}, 'Throw error on empty string' );
} );
- QUnit.test( 'Case-sensivity', 3, function ( assert ) {
+ QUnit.test( 'Case-sensivity', 5, function ( assert ) {
var title;
// Default config
title = new mw.Title( 'article' );
assert.equal( title.toString(), 'Article', 'Default config: No sensitive namespaces by default. First-letter becomes uppercase' );
+ title = new mw.Title( 'ß' );
+ assert.equal( title.toString(), 'ß', 'Uppercasing matches PHP behaviour (ß -> ß, not SS)' );
+
+ title = new mw.Title( 'dž (digraph)' );
+ assert.equal( title.toString(), 'Dž_(digraph)', 'Uppercasing matches PHP behaviour (dž -> Dž, not DŽ)' );
+
// $wgCapitalLinks = false;
mw.config.set( 'wgCaseSensitiveNamespaces', [ 0, -2, 1, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15 ] );
extTest( 'MediaWiki:Vector.js', 'js' );
extTest( 'User:Example/common.css', 'css' );
- extTest( 'File:Example.longextension', 'longextension', 'Extension parsing not limited (bug 36151)' );
+ extTest( 'File:Example.longextension', 'longextension', 'Extension parsing not limited (T38151)' );
extTest( 'Example/information.json', 'json', 'Extension parsing not restricted from any namespace' );
extTest( 'Foo.', null, 'Trailing dot is not an extension' );
extTest( 'Foo..', null, 'Trailing dots are not an extension' );