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.
|
* @param {import("../events.js").ListenerFunction} listener Listener.
|
||||||
*/
|
*/
|
||||||
addEventListener(type, listener) {
|
addEventListener(type, listener) {
|
||||||
|
if (!type || !listener) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
let listeners = this.listeners_[type];
|
let listeners = this.listeners_[type];
|
||||||
if (!listeners) {
|
if (!listeners) {
|
||||||
listeners = this.listeners_[type] = [];
|
listeners = this.listeners_[type] = [];
|
||||||
@@ -146,6 +149,9 @@ class Target extends Disposable {
|
|||||||
* @param {import("../events.js").ListenerFunction} listener Listener.
|
* @param {import("../events.js").ListenerFunction} listener Listener.
|
||||||
*/
|
*/
|
||||||
removeEventListener(type, listener) {
|
removeEventListener(type, listener) {
|
||||||
|
if (!type || !listener) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const listeners = this.listeners_[type];
|
const listeners = this.listeners_[type];
|
||||||
if (listeners) {
|
if (listeners) {
|
||||||
const index = listeners.indexOf(listener);
|
const index = listeners.indexOf(listener);
|
||||||
|
|||||||
@@ -64,6 +64,11 @@ describe('ol.events.EventTarget', function() {
|
|||||||
eventTarget.removeEventListener('foo', spy1, false);
|
eventTarget.removeEventListener('foo', spy1, false);
|
||||||
expect(eventTarget.listeners_['foo']).to.have.length(1);
|
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() {
|
describe('#dispatchEvent()', function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user