From e2484bc0beb6ed02f159acbf4e6c7da885bf1774 Mon Sep 17 00:00:00 2001 From: Jakob Warkotsch Date: Thu, 18 Oct 2018 18:02:12 +0200 Subject: [PATCH] Fix jqueryMsg breaking when passed an undefined param This restores the behavior for undefined params as it was before I445f9194bb8b2ed35baafbda30d1d0d008b64e2c Bug: T207397 Change-Id: I751f01a9b3cd8bb87d7d7def98c918a87ddf81cd --- resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js | 2 +- .../suites/resources/mediawiki/mediawiki.jqueryMsg.test.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js b/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js index 8b348c8661..082db5ce1a 100644 --- a/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js +++ b/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js @@ -1377,7 +1377,7 @@ !/\{\{|[<>[&]/.test( this.map.get( this.key ) ) && // jqueryMsg parser is needed when jQuery objects or DOM nodes are passed in as parameters !this.parameters.some( function ( param ) { - return param instanceof $ || param.nodeType !== undefined; + return param instanceof $ || ( param && param.nodeType !== undefined ); } ) ) ) { diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js index 405a60f0f1..913022d6e3 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js @@ -1251,6 +1251,12 @@ 'Passing a DOM node as a parameter to a message without wikitext works correctly' ); + assert.strictEqual( + mw.message( 'param-test', undefined ).parse(), + 'Hello $1', + 'Passing undefined as a parameter to a message does not throw an exception' + ); + assert.strictEqual( mw.message( 'param-test-with-link', -- 2.20.1