Fix exception thrown in mw.util.addPortletLink
authorKrinkle <krinkle@users.mediawiki.org>
Sun, 8 May 2011 20:48:20 +0000 (20:48 +0000)
committerKrinkle <krinkle@users.mediawiki.org>
Sun, 8 May 2011 20:48:20 +0000 (20:48 +0000)
commit66a61a9448b95e02cccc990a83f969a149b6c997
tree43fd9d5b4a94534a5b39e7edbde7280268104fbb
parent48c6cc285439955b1376d093eadb08094c674c98
Fix exception thrown in mw.util.addPortletLink
* As of jQuery 1.4.4, Sizzle's query must be a string (it does a query.replace call before everything else). It fails otherwise.
* In REL1_17 and 1.17wmf1 this isn't a problem since jQuery 1.4.2 is there, in which Sizzle didn't fail on non-strings yet.
* Nonetheless this is undocumented support, we should make sure that the variable passed is a string on our side
* Adding a check for it in mw.util.addPortletLink's nextnode argument.
* Adding a test to mw.util.test that calls addPortletLink with three arguments, making nextnode implied undefined/null. This test returned "ERROR" before I made the fix in mw.util.addPortletLink.

Exact error: TypeError: Result of expression 'query' [undefined] is not an object.
Origin: line 4085 of jQuery/mediaWiki module load.
Line 4081: Sizzle = function( query, context, extra, seed ) {
Line 4085:     query = query.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
resources/mediawiki.util/mediawiki.util.js
resources/mediawiki.util/mediawiki.util.test.js