do not let users register on an event that has not been specifically enabled at initialize. add test.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@872 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -105,7 +105,9 @@ OpenLayers.Events.prototype = {
|
|||||||
obj = this.object;
|
obj = this.object;
|
||||||
}
|
}
|
||||||
var listeners = this.listeners[type];
|
var listeners = this.listeners[type];
|
||||||
listeners.push( {obj: obj, func: func} );
|
if (listeners != null) {
|
||||||
|
listeners.push( {obj: obj, func: func} );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
function test_02_Events_register_unregister(t) {
|
function test_02_Events_register_unregister(t) {
|
||||||
|
|
||||||
t.plan( 13 );
|
t.plan( 14 );
|
||||||
|
|
||||||
var mapDiv = $('map');
|
var mapDiv = $('map');
|
||||||
var obj = {result: 0};
|
var obj = {result: 0};
|
||||||
@@ -78,6 +78,9 @@
|
|||||||
var listenerList = events.listeners["doThingA"];
|
var listenerList = events.listeners["doThingA"];
|
||||||
t.eq( listenerList.length, 3, "register correctly does not append null callback to event.listeners[doThingA] even when obj passed in is null" );
|
t.eq( listenerList.length, 3, "register correctly does not append null callback to event.listeners[doThingA] even when obj passed in is null" );
|
||||||
|
|
||||||
|
events.register( "chicken", obj, func);
|
||||||
|
t.ok( events.listeners["chicken"] == null, "register() does nothing on attempt to register un-enabled event");
|
||||||
|
|
||||||
events.unregister("doThingA", obj, null);
|
events.unregister("doThingA", obj, null);
|
||||||
var listenerList = events.listeners["doThingA"];
|
var listenerList = events.listeners["doThingA"];
|
||||||
t.eq( listenerList.length, 3, "trying to unregister a null callback does nothing -- but doesnt crash :-)" );
|
t.eq( listenerList.length, 3, "trying to unregister a null callback does nothing -- but doesnt crash :-)" );
|
||||||
|
|||||||
Reference in New Issue
Block a user