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

Reply via email to