assert.strictEqual(mw.Title.phpCharToUpper('\uD801\uDC38'),'\uD801\uDC10','U+10438 (DESERET SMALL LETTER H) 𐐸 -> U+10410 (DESERET CAPITAL LETTER H) 𐐐');
});
QUnit.test('Case-sensivity',(assert)=>{
// Default config
mw.config.set('wgCaseSensitiveNamespaces',[]);
lettitle=newmw.Title('article');
assert.strictEqual(title.toString(),'Article','Default config: No sensitive namespaces by default. First-letter becomes uppercase');
title=newmw.Title('ß');
assert.strictEqual(title.toString(),'ß','Uppercasing matches PHP behaviour (ß -> ß, not SS)');
title=newmw.Title('ῳ');
assert.strictEqual(title.toString(),'ῼ','Uppercasing matches PHP behaviour (ῳ -> ῼ, not ΩΙ)');
// U+10438 (DESERET SMALL LETTER H) U+10443 (DESERET SMALL LETTER ETH)
// gets changed to
// U+10410 (DESERET CAPITAL LETTER H) U+10443 (DESERET SMALL LETTER ETH)
title=newmw.Title('\uD801\uDC38\uD801\uDC1B');
assert.strictEqual(title.toString(),'\uD801\uDC10\uD801\uDC1B','Uppercase of U+10438 (DESERET SMALL LETTER H)');
assert.strictEqual(title.getUrl(),'/wiki/User_talk:John_Doe','Escaping in title and namespace for urls');
title=newmw.Title('John Cena#And_His_Name_Is',3);
assert.strictEqual(title.getUrl({meme:true}),'/w/index.php?title=User_talk:John_Cena&meme=true#And_His_Name_Is','title with fragment and query parameter');