Replace goog.events.Event/EventTarget system with our own

This also removes goog.events.listen, goog.events.unlisten,
goog.events.unlistenByKey and goog.events.BrowserEvent.
This commit is contained in:
Andreas Hocevar
2016-01-29 16:29:46 +01:00
parent d87482e415
commit 3f2d79b7fe
110 changed files with 1143 additions and 733 deletions

View File

@@ -8,7 +8,7 @@ describe('ol.pointer.MouseSource', function() {
beforeEach(function() {
clock = sinon.useFakeTimers();
target = goog.dom.createElement('DIV');
target = new ol.events.EventTarget();
// make sure that a mouse and touch event source is used
ol.has.POINTER = false;
@@ -26,7 +26,7 @@ describe('ol.pointer.MouseSource', function() {
describe('simulated mouse events', function() {
it('prevents simulated mouse events', function() {
goog.events.listen(handler, 'pointerdown', eventSpy);
ol.events.listen(handler, 'pointerdown', eventSpy);
// simulates that a mouse event is triggered from a touch
simulateTouchEvent('touchstart', 10, 20);
@@ -37,7 +37,7 @@ describe('ol.pointer.MouseSource', function() {
});
it('dispatches real mouse events', function() {
goog.events.listen(handler, 'pointerdown', eventSpy);
ol.events.listen(handler, 'pointerdown', eventSpy);
// the two events are at different positions
simulateTouchEvent('touchstart', 10, 20);
@@ -50,7 +50,7 @@ describe('ol.pointer.MouseSource', function() {
// set the timeout to a lower value, to speed up the tests
ol.pointer.TouchSource.DEDUP_TIMEOUT = 100;
goog.events.listen(handler, 'pointerdown', eventSpy);
ol.events.listen(handler, 'pointerdown', eventSpy);
// first simulate a touch event, then a mouse event
// at the same position after a timeout
@@ -70,28 +70,28 @@ describe('ol.pointer.MouseSource', function() {
target: target
}];
var event = new goog.events.BrowserEvent({
var event = {
type: type,
touches: touches,
changedTouches: touches
});
goog.events.fireListeners(target, type, false, event);
};
ol.events.fireListeners(target, type, event);
}
function simulateEvent(type, x, y) {
var event = new goog.events.BrowserEvent({
var event = {
type: type,
clientX: x,
clientY: y,
target: target
});
goog.events.fireListeners(target, type, false, event);
};
ol.events.fireListeners(target, type, event);
}
});
goog.require('goog.dom');
goog.require('goog.events');
goog.require('goog.events.BrowserEvent');
goog.require('ol.events');
goog.require('ol.events.EventTarget');
goog.require('ol.has');
goog.require('ol.pointer.MouseSource');
goog.require('ol.pointer.PointerEvent');

View File

@@ -6,7 +6,7 @@ describe('ol.pointer.PointerEventHandler', function() {
var eventSpy;
beforeEach(function() {
target = goog.dom.createElement('DIV');
target = new ol.events.EventTarget();
// make sure that a mouse event source is used
ol.has.POINTER = false;
@@ -29,18 +29,18 @@ describe('ol.pointer.PointerEventHandler', function() {
});
function simulateEvent(type, x, y) {
var event = new goog.events.BrowserEvent({
var event = {
type: type,
clientX: x,
clientY: y,
target: target
});
goog.events.fireListeners(target, type, false, event);
};
ol.events.fireListeners(target, type, event);
}
describe('pointer down', function() {
it('fires pointerdown events', function() {
goog.events.listen(handler, 'pointerdown', eventSpy);
ol.events.listen(handler, 'pointerdown', eventSpy);
simulateEvent('mousedown', 0, 0);
expect(eventSpy.calledOnce).to.be.ok();
@@ -54,7 +54,7 @@ describe('ol.pointer.PointerEventHandler', function() {
describe('pointer up', function() {
it('fires pointerup events', function() {
goog.events.listen(handler, 'pointerup', eventSpy);
ol.events.listen(handler, 'pointerup', eventSpy);
simulateEvent('mousedown', 0, 0);
simulateEvent('mouseup', 0, 0);
expect(eventSpy.calledOnce).to.be.ok();
@@ -63,7 +63,7 @@ describe('ol.pointer.PointerEventHandler', function() {
describe('pointer move', function() {
it('fires pointermove events', function() {
goog.events.listen(handler, 'pointermove', eventSpy);
ol.events.listen(handler, 'pointermove', eventSpy);
simulateEvent('mousemove', 0, 0);
expect(eventSpy.calledOnce).to.be.ok();
});
@@ -74,8 +74,8 @@ describe('ol.pointer.PointerEventHandler', function() {
var enterEventSpy = sinon.spy();
var overEventSpy = sinon.spy();
goog.events.listen(handler, 'pointerenter', enterEventSpy);
goog.events.listen(handler, 'pointerover', overEventSpy);
ol.events.listen(handler, 'pointerenter', enterEventSpy);
ol.events.listen(handler, 'pointerover', overEventSpy);
simulateEvent('mouseover', 0, 0);
@@ -89,8 +89,8 @@ describe('ol.pointer.PointerEventHandler', function() {
var leaveEventSpy = sinon.spy();
var outEventSpy = sinon.spy();
goog.events.listen(handler, 'pointerleave', leaveEventSpy);
goog.events.listen(handler, 'pointerout', outEventSpy);
ol.events.listen(handler, 'pointerleave', leaveEventSpy);
ol.events.listen(handler, 'pointerout', outEventSpy);
simulateEvent('mouseout', 0, 0);
@@ -107,7 +107,7 @@ describe('ol.pointer.PointerEventHandler', function() {
clientX: 1,
clientY: 2
};
var browserEvent = new goog.events.BrowserEvent(event);
var browserEvent = event;
var eventClone = handler.cloneEvent(browserEvent, event);
@@ -136,7 +136,7 @@ describe('ol.pointer.PointerEventHandler', function() {
clientX: 1,
clientY: 2
};
var browserEvent = new goog.events.BrowserEvent(event);
var browserEvent = event;
var eventClone = handler.cloneEvent(browserEvent, event);
var pointerEvent = handler.makeEvent('pointerdown',
@@ -161,8 +161,8 @@ describe('ol.pointer.PointerEventHandler', function() {
});
goog.require('goog.dom');
goog.require('goog.events');
goog.require('goog.events.BrowserEvent');
goog.require('ol.events');
goog.require('ol.events.EventTarget');
goog.require('ol.has');
goog.require('ol.pointer.MouseSource');
goog.require('ol.pointer.PointerEvent');

View File

@@ -8,7 +8,7 @@ describe('ol.pointer.TouchSource', function() {
var eventSpy;
beforeEach(function() {
target = goog.dom.createElement('DIV');
target = new ol.events.EventTarget();
// make sure that a mouse and touch event source is used
ol.has.POINTER = false;
@@ -25,7 +25,7 @@ describe('ol.pointer.TouchSource', function() {
describe('pointer event creation', function() {
it('generates pointer events for each touch contact', function() {
goog.events.listen(handler, 'pointerdown', eventSpy);
ol.events.listen(handler, 'pointerdown', eventSpy);
simulateTouchEvent('touchstart', [
{identifier: 3, clientX: 10, clientY: 11},
@@ -52,7 +52,7 @@ describe('ol.pointer.TouchSource', function() {
});
it('creates the right pointer events', function() {
goog.events.listen(handler, 'pointerdown', eventSpy);
ol.events.listen(handler, 'pointerdown', eventSpy);
// first touch
simulateTouchEvent('touchstart', [
@@ -71,7 +71,7 @@ describe('ol.pointer.TouchSource', function() {
// first touch moves
var moveEventSpy = sinon.spy();
goog.events.listen(handler, 'pointermove', moveEventSpy);
ol.events.listen(handler, 'pointermove', moveEventSpy);
simulateTouchEvent('touchmove', [
{identifier: 3, clientX: 15, clientY: 16}
@@ -81,7 +81,7 @@ describe('ol.pointer.TouchSource', function() {
// and then both touches go up
var upEventSpy = sinon.spy();
goog.events.listen(handler, 'pointerup', upEventSpy);
ol.events.listen(handler, 'pointerup', upEventSpy);
simulateTouchEvent('touchend', [
{identifier: 3, clientX: 15, clientY: 16},
@@ -93,7 +93,7 @@ describe('ol.pointer.TouchSource', function() {
});
it('handles flawed touches', function() {
goog.events.listen(handler, 'pointerdown', eventSpy);
ol.events.listen(handler, 'pointerdown', eventSpy);
// first touch
simulateTouchEvent('touchstart', [
@@ -104,7 +104,7 @@ describe('ol.pointer.TouchSource', function() {
// second touch, but the first touch has disappeared
var cancelEventSpy = sinon.spy();
goog.events.listen(handler, 'pointercancel', cancelEventSpy);
ol.events.listen(handler, 'pointercancel', cancelEventSpy);
simulateTouchEvent('touchstart', [
{identifier: 4, clientX: 30, clientY: 45}
], [{identifier: 4}]
@@ -120,18 +120,19 @@ describe('ol.pointer.TouchSource', function() {
function simulateTouchEvent(type, changedTouches, touches) {
touches = touches !== undefined ? touches : changedTouches;
var event = new goog.events.BrowserEvent({
type: type,
var event = new ol.events.Event(type);
goog.object.extend(event, {
touches: touches,
changedTouches: changedTouches
});
goog.events.fireListeners(target, type, false, event);
ol.events.fireListeners(target, type, event);
}
});
goog.require('goog.dom');
goog.require('goog.events');
goog.require('goog.events.BrowserEvent');
goog.require('ol.events');
goog.require('ol.events.Event');
goog.require('ol.events.EventTarget');
goog.require('ol.has');
goog.require('ol.pointer.PointerEvent');
goog.require('ol.pointer.PointerEventHandler');