Remove support for useCapture

This commit is contained in:
Tim Schaub
2016-02-02 08:29:11 -07:00
committed by Andreas Hocevar
parent 80df1f5ae8
commit c62e76ab67
4 changed files with 49 additions and 109 deletions
+15 -41
View File
@@ -51,88 +51,62 @@ describe('ol.events.EventTarget', function() {
describe('#addEventListener()', function() {
it('has listeners for each registered type', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.addEventListener('bar', spy2, false);
eventTarget.addEventListener('foo', spy1);
eventTarget.addEventListener('bar', spy2);
expect(eventTarget.hasListener('foo')).to.be(true);
expect(eventTarget.hasListener('bar')).to.be(true);
});
it('registers listeners in the order determined by useCapture', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.addEventListener('foo', spy2, false);
eventTarget.addEventListener('foo', spy3, true);
expect(eventTarget.getListeners('foo')).to.eql([spy2, spy1, spy3]);
});
it('does not re-add existing listeners, ignoring useCapture', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.addEventListener('foo', spy2, false);
eventTarget.addEventListener('foo', spy3, true);
eventTarget.addEventListener('foo', spy2);
eventTarget.addEventListener('foo', spy1, true);
eventTarget.addEventListener('foo', spy3, false);
expect(eventTarget.getListeners('foo')).to.eql([spy2, spy1, spy3]);
});
});
describe('#removeEventListener()', function() {
it('keeps the listeners registry clean', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.removeEventListener('foo', spy1, false);
eventTarget.addEventListener('foo', spy1);
eventTarget.removeEventListener('foo', spy1);
expect(eventTarget.hasListener('foo')).to.be(false);
});
it('removes added listeners from the listeners registry', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.addEventListener('foo', spy2, false);
eventTarget.addEventListener('foo', spy1);
eventTarget.addEventListener('foo', spy2);
eventTarget.removeEventListener('foo', spy1, false);
expect(eventTarget.getListeners('foo')).to.have.length(1);
});
it('ignores the useCapture setting when removing listeners', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.addEventListener('foo', spy2, false);
eventTarget.addEventListener('foo', spy3, true);
eventTarget.removeEventListener('foo', spy1, true);
eventTarget.removeEventListener('foo', spy2);
eventTarget.removeEventListener('foo', spy3, false);
expect(eventTarget.getListeners('foo')).to.be(undefined);
});
});
describe('#dispatchEvent()', function() {
it('calls listeners in the correct order', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.addEventListener('foo', spy2, false);
eventTarget.addEventListener('foo', spy3, true);
eventTarget.addEventListener('foo', spy1);
eventTarget.addEventListener('foo', spy2);
eventTarget.dispatchEvent('foo');
expect(called).to.eql([3, 1, 2]);
expect(called).to.eql([1, 2]);
});
it('stops propagation when listeners return false', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.addEventListener('foo', spy1);
eventTarget.addEventListener('foo', function(evt) {
spy2();
return false;
}, false);
eventTarget.addEventListener('foo', spy3, false);
eventTarget.addEventListener('foo', spy3);
eventTarget.dispatchEvent('foo');
expect(called).to.eql([1, 2]);
});
it('stops propagation when listeners call preventDefault()', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.addEventListener('foo', function(evt) {
spy2();
evt.preventDefault();
}, true);
eventTarget.addEventListener('foo', spy3, false);
});
eventTarget.addEventListener('foo', spy1);
eventTarget.dispatchEvent('foo');
expect(called).to.eql([2]);
});
it('passes a default ol.events.Event object to listeners', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.addEventListener('foo', spy1);
eventTarget.dispatchEvent('foo');
expect(events[0]).to.be.a(ol.events.Event);
expect(events[0].type).to.be('foo');
expect(events[0].target).to.equal(eventTarget);
});
it('passes a custom event object with target to listeners', function() {
eventTarget.addEventListener('foo', spy1, false);
eventTarget.addEventListener('foo', spy1);
var event = {
type: 'foo'
};