Add tests for corner cases
This commit is contained in:
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user