Merge pull request #10010 from ahocevar/require-type-and-listener
Require type and listener for addEventListener/removeEventListener
This commit is contained in:
@@ -57,6 +57,9 @@ class Target extends Disposable {
|
||||
* @param {import("../events.js").ListenerFunction} listener Listener.
|
||||
*/
|
||||
addEventListener(type, listener) {
|
||||
if (!type || !listener) {
|
||||
return;
|
||||
}
|
||||
let listeners = this.listeners_[type];
|
||||
if (!listeners) {
|
||||
listeners = this.listeners_[type] = [];
|
||||
@@ -146,6 +149,9 @@ class Target extends Disposable {
|
||||
* @param {import("../events.js").ListenerFunction} listener Listener.
|
||||
*/
|
||||
removeEventListener(type, listener) {
|
||||
if (!type || !listener) {
|
||||
return;
|
||||
}
|
||||
const listeners = this.listeners_[type];
|
||||
if (listeners) {
|
||||
const index = listeners.indexOf(listener);
|
||||
|
||||
@@ -64,6 +64,11 @@ describe('ol.events.EventTarget', function() {
|
||||
eventTarget.removeEventListener('foo', spy1, false);
|
||||
expect(eventTarget.listeners_['foo']).to.have.length(1);
|
||||
});
|
||||
it.only('does nothing when called with undefined listener', function() {
|
||||
eventTarget.addEventListener('foo', spy1);
|
||||
eventTarget.removeEventListener('foo', undefined);
|
||||
expect(eventTarget.listeners_['foo']).to.eql([spy1]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#dispatchEvent()', function() {
|
||||
|
||||
Reference in New Issue
Block a user