Gerrit Patch Uploader has uploaded a new change for review. https://gerrit.wikimedia.org/r/123856
Change subject: Use hasOwnProperty to allow hooks with name of predefined methods ...................................................................... Use hasOwnProperty to allow hooks with name of predefined methods Change-Id: I71823a61a43787c14b410bc732f934fe7545fcee --- M resources/mediawiki/mediawiki.js M tests/qunit/suites/resources/mediawiki/mediawiki.test.js 2 files changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/56/123856/1 diff --git a/resources/mediawiki/mediawiki.js b/resources/mediawiki/mediawiki.js index 885fd3d..eaf831b 100644 --- a/resources/mediawiki/mediawiki.js +++ b/resources/mediawiki/mediawiki.js @@ -2371,7 +2371,9 @@ * @return {mw.hook} */ return function ( name ) { - var list = lists[name] || ( lists[name] = $.Callbacks( 'memory' ) ); + var list = hasOwn.call( lists, name ) ? + lists[name] : + lists[name] = $.Callbacks( 'memory' ); return { /** diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.test.js index f5091f9..be63ce6 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.test.js @@ -851,7 +851,7 @@ } ); - QUnit.test( 'mw.hook', 10, function ( assert ) { + QUnit.test( 'mw.hook', 11, function ( assert ) { var hook, add, fire, chars, callback; mw.hook( 'test.hook.unfired' ).add( function () { @@ -863,6 +863,11 @@ } ); mw.hook( 'test.hook.basic' ).fire(); + mw.hook( 'hasOwnProperty' ).add( function () { + assert.ok( true, 'hook with name of predefined method' ); + } ); + mw.hook( 'hasOwnProperty' ).fire(); + mw.hook( 'test.hook.data' ).add( function ( data1, data2 ) { assert.equal( data1, 'example', 'Fire with data (string param)' ); assert.deepEqual( data2, ['two'], 'Fire with data (array param)' ); -- To view, visit https://gerrit.wikimedia.org/r/123856 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I71823a61a43787c14b410bc732f934fe7545fcee Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Gerrit Patch Uploader <gerritpatchuploa...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits