Add tests for corner cases

This commit is contained in:
Andreas Hocevar
2016-03-08 16:52:54 +01:00
parent 8a279dd94b
commit 0377e4a322

View File

@@ -130,6 +130,23 @@ describe('ol.events.EventTarget', function() {
expect(called).to.eql([3]);
expect(eventTarget.getListeners('foo')).to.have.length(1);
});
it('is safe to do weird things in listeners', function() {
eventTarget.addEventListener('foo', spy2);
eventTarget.addEventListener('foo', function weird(evt) {
eventTarget.removeEventListener('foo', weird);
eventTarget.removeEventListener('foo', spy1);
eventTarget.dispatchEvent('foo');
eventTarget.removeEventListener('foo', spy2);
eventTarget.dispatchEvent('foo');
evt.preventDefault();
});
eventTarget.addEventListener('foo', spy1);
expect(function() {
eventTarget.dispatchEvent('foo');
}).not.to.throwException();
expect(called).to.eql([2, 2]);
expect(eventTarget.getListeners('foo')).to.be(undefined);
});
});
describe('#dispose()', function() {