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

@@ -38,15 +38,15 @@
* that we don't have other global leaks, we preemptively set the property
* so Mocha can compare the global before and after our tests.
*
* In addition, calling goog.events.listen on the global object (as done
* In addition, calling ol.events.listen on the global object (as done
* in deviceorientation.js) creates a second leak by setting
* goog.events.LISTENER_MAP_PROP_ on the global object.
* ol.events.listenER_MAP_PROP_ on the global object.
*
* We preemptively set both of these properties so Mocha can compare the
* global before and after tests. The call to goog.events.listen also
* global before and after tests. The call to ol.events.listen also
* calls goog.getUid.
*/
goog.events.listen(this, 'test', function() {});
ol.events.listen(this, 'test', function() {});
var runner = mocha.run();
if (window.console && console.log) {

View File

@@ -114,7 +114,7 @@ describe('ol.collection', function() {
it('fires a remove event', function() {
var collection = new ol.Collection([0, 1, 2]);
var cb = sinon.spy();
goog.events.listen(collection, ol.CollectionEventType.REMOVE, cb);
ol.events.listen(collection, ol.CollectionEventType.REMOVE, cb);
expect(collection.remove(1)).to.eql(1);
expect(cb).to.be.called();
expect(cb.lastCall.args[0].element).to.eql(1);
@@ -137,10 +137,10 @@ describe('ol.collection', function() {
it('does dispatch events', function() {
var collection = new ol.Collection(['a', 'b']);
var added, removed;
goog.events.listen(collection, ol.CollectionEventType.ADD, function(e) {
ol.events.listen(collection, ol.CollectionEventType.ADD, function(e) {
added = e.element;
});
goog.events.listen(
ol.events.listen(
collection, ol.CollectionEventType.REMOVE, function(e) {
removed = e.element;
});
@@ -154,7 +154,7 @@ describe('ol.collection', function() {
it('does dispatch events', function() {
var collection = new ol.Collection(['a']);
var removed;
goog.events.listen(
ol.events.listen(
collection, ol.CollectionEventType.REMOVE, function(e) {
removed = e.element;
});
@@ -167,7 +167,7 @@ describe('ol.collection', function() {
it('does dispatch events', function() {
var collection = new ol.Collection([0, 2]);
var added;
goog.events.listen(
ol.events.listen(
collection, ol.CollectionEventType.ADD, function(e) {
added = e.element;
});
@@ -179,7 +179,7 @@ describe('ol.collection', function() {
describe('setAt beyond end', function() {
it('triggers events properly', function() {
var added = [];
goog.events.listen(
ol.events.listen(
collection, ol.CollectionEventType.ADD, function(e) {
added.push(e.element);
});
@@ -200,7 +200,7 @@ describe('ol.collection', function() {
beforeEach(function() {
collection = new ol.Collection([0, 1, 2]);
cb = sinon.spy();
goog.events.listen(collection, 'change:length', cb);
ol.events.listen(collection, 'change:length', cb);
});
describe('insertAt', function() {
@@ -229,7 +229,7 @@ describe('ol.collection', function() {
it('triggers add when pushing', function() {
var collection = new ol.Collection();
var elem;
goog.events.listen(collection, ol.CollectionEventType.ADD, function(e) {
ol.events.listen(collection, ol.CollectionEventType.ADD, function(e) {
elem = e.element;
});
collection.push(1);
@@ -246,8 +246,8 @@ describe('ol.collection', function() {
});
describe('setAt', function() {
it('triggers remove', function() {
goog.events.listen(collection, ol.CollectionEventType.ADD, cb1);
goog.events.listen(collection, ol.CollectionEventType.REMOVE, cb2);
ol.events.listen(collection, ol.CollectionEventType.ADD, cb1);
ol.events.listen(collection, ol.CollectionEventType.REMOVE, cb2);
collection.setAt(0, 2);
expect(cb2.lastCall.args[0].element).to.eql(1);
expect(cb1.lastCall.args[0].element).to.eql(2);
@@ -255,7 +255,7 @@ describe('ol.collection', function() {
});
describe('pop', function() {
it('triggers remove', function() {
goog.events.listen(collection, ol.CollectionEventType.REMOVE, cb1);
ol.events.listen(collection, ol.CollectionEventType.REMOVE, cb1);
collection.pop();
expect(cb1.lastCall.args[0].element).to.eql(1);
});
@@ -273,7 +273,7 @@ describe('ol.collection', function() {
it('fires events', function() {
var collection = new ol.Collection();
var elems = [];
goog.events.listen(collection, ol.CollectionEventType.ADD, function(e) {
ol.events.listen(collection, ol.CollectionEventType.ADD, function(e) {
elems.push(e.element);
});
collection.extend([1, 2]);
@@ -284,6 +284,6 @@ describe('ol.collection', function() {
});
goog.require('goog.events');
goog.require('ol.events');
goog.require('ol.Collection');
goog.require('ol.CollectionEventType');

View File

@@ -462,7 +462,7 @@ describe('ol.Feature.createStyleFunction()', function() {
});
goog.require('goog.events');
goog.require('ol.events');
goog.require('goog.object');
goog.require('ol.Feature');
goog.require('ol.geom.Point');

View File

@@ -69,7 +69,7 @@ describe('ol.featureloader', function() {
var url = 'spec/ol/data/point.json';
var format = new ol.format.GeoJSON();
loader = ol.featureloader.tile(url, format);
goog.events.listen(tile, 'change', function(e) {
ol.events.listen(tile, 'change', function(e) {
expect(tile.getFeatures().length).to.be.greaterThan(0);
done();
});
@@ -81,7 +81,7 @@ describe('ol.featureloader', function() {
var url = 'spec/ol/data/14-8938-5680.vector.pbf';
var format = new ol.format.MVT();
loader = ol.featureloader.tile(url, format);
goog.events.listen(tile, 'change', function(e) {
ol.events.listen(tile, 'change', function(e) {
expect(tile.getFeatures().length).to.be.greaterThan(0);
expect(tile.getProjection().getUnits()).to.be('tile-pixels');
done();
@@ -93,7 +93,7 @@ describe('ol.featureloader', function() {
});
goog.require('goog.events');
goog.require('ol.events');
goog.require('ol.VectorTile');
goog.require('ol.featureloader');
goog.require('ol.format.GeoJSON');

View File

@@ -51,11 +51,11 @@ describe('ol.interaction.Draw', function() {
var shiftKey = opt_shiftKey !== undefined ? opt_shiftKey : false;
var event = new ol.MapBrowserPointerEvent(type, map,
new ol.pointer.PointerEvent(type,
new goog.events.BrowserEvent({
{
clientX: position.x + x + width / 2,
clientY: position.y + y + height / 2,
shiftKey: shiftKey
})));
}));
map.handleMapBrowserEvent(event);
}
@@ -163,8 +163,8 @@ describe('ol.interaction.Draw', function() {
it('triggers draw events', function() {
var ds = sinon.spy();
var de = sinon.spy();
goog.events.listen(draw, ol.interaction.DrawEventType.DRAWSTART, ds);
goog.events.listen(draw, ol.interaction.DrawEventType.DRAWEND, de);
ol.events.listen(draw, ol.interaction.DrawEventType.DRAWSTART, ds);
ol.events.listen(draw, ol.interaction.DrawEventType.DRAWEND, de);
simulateEvent('pointermove', 10, 20);
simulateEvent('pointerdown', 10, 20);
simulateEvent('pointerup', 10, 20);
@@ -180,7 +180,7 @@ describe('ol.interaction.Draw', function() {
end: 0,
addfeature: 0
};
goog.events.listen(draw, ol.interaction.DrawEventType.DRAWEND,
ol.events.listen(draw, ol.interaction.DrawEventType.DRAWEND,
function() {
expect(receivedEvents.end).to.be(0);
expect(receivedEvents.addfeature).to.be(0);
@@ -309,8 +309,8 @@ describe('ol.interaction.Draw', function() {
it('triggers draw events', function() {
var ds = sinon.spy();
var de = sinon.spy();
goog.events.listen(draw, ol.interaction.DrawEventType.DRAWSTART, ds);
goog.events.listen(draw, ol.interaction.DrawEventType.DRAWEND, de);
ol.events.listen(draw, ol.interaction.DrawEventType.DRAWSTART, ds);
ol.events.listen(draw, ol.interaction.DrawEventType.DRAWEND, de);
// first point
simulateEvent('pointermove', 10, 20);
@@ -467,8 +467,8 @@ describe('ol.interaction.Draw', function() {
it('triggers draw events', function() {
var ds = sinon.spy();
var de = sinon.spy();
goog.events.listen(draw, ol.interaction.DrawEventType.DRAWSTART, ds);
goog.events.listen(draw, ol.interaction.DrawEventType.DRAWEND, de);
ol.events.listen(draw, ol.interaction.DrawEventType.DRAWSTART, ds);
ol.events.listen(draw, ol.interaction.DrawEventType.DRAWEND, de);
// first point
simulateEvent('pointermove', 10, 20);
@@ -607,8 +607,8 @@ describe('ol.interaction.Draw', function() {
it('triggers draw events', function() {
var ds = sinon.spy();
var de = sinon.spy();
goog.events.listen(draw, ol.interaction.DrawEventType.DRAWSTART, ds);
goog.events.listen(draw, ol.interaction.DrawEventType.DRAWEND, de);
ol.events.listen(draw, ol.interaction.DrawEventType.DRAWSTART, ds);
ol.events.listen(draw, ol.interaction.DrawEventType.DRAWEND, de);
// first point
simulateEvent('pointermove', 10, 20);
@@ -805,7 +805,7 @@ describe('ol.interaction.Draw', function() {
it('dispatches a drawstart event', function() {
var spy = sinon.spy();
goog.events.listen(draw, ol.interaction.DrawEventType.DRAWSTART, spy);
ol.events.listen(draw, ol.interaction.DrawEventType.DRAWSTART, spy);
draw.extend(feature);
expect(spy.callCount).to.be(1);
});
@@ -814,8 +814,7 @@ describe('ol.interaction.Draw', function() {
});
goog.require('goog.dispose');
goog.require('goog.events');
goog.require('goog.events.BrowserEvent');
goog.require('ol.events');
goog.require('goog.style');
goog.require('ol.Feature');
goog.require('ol.Map');

View File

@@ -11,7 +11,7 @@ describe('ol.interaction.Interaction', function() {
it('creates a new interaction', function() {
expect(interaction).to.be.a(ol.interaction.Interaction);
expect(interaction).to.be.a(goog.events.EventTarget);
expect(interaction).to.be.a(ol.events.EventTarget);
});
it('creates an active interaction', function() {
@@ -55,6 +55,6 @@ describe('ol.interaction.Interaction', function() {
});
goog.require('goog.events.EventTarget');
goog.require('ol.events.EventTarget');
goog.require('ol.Map');
goog.require('ol.interaction.Interaction');

View File

@@ -68,13 +68,13 @@ describe('ol.interaction.Modify', function() {
var shiftKey = opt_shiftKey !== undefined ? opt_shiftKey : false;
var event = new ol.MapBrowserPointerEvent(type, map,
new ol.pointer.PointerEvent(type,
new goog.events.BrowserEvent({
{
type: type,
button: button,
clientX: position.x + x + width / 2,
clientY: position.y + y + height / 2,
shiftKey: shiftKey
})));
}));
event.pointerEvent.pointerId = 1;
map.handleMapBrowserEvent(event);
}
@@ -327,8 +327,8 @@ describe('ol.interaction.Modify', function() {
beforeEach(function() {
getListeners = function(feature, modify) {
var listeners = goog.events.getListeners(
feature, goog.events.EventType.CHANGE, false);
var listeners = ol.events.getListeners(
feature, ol.events.EventType.CHANGE);
return listeners.filter(function(listener) {
return listener.handler == modify;
});
@@ -377,9 +377,8 @@ describe('ol.interaction.Modify', function() {
});
goog.require('goog.dispose');
goog.require('goog.events');
goog.require('goog.events.EventType');
goog.require('goog.events.BrowserEvent');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('goog.style');
goog.require('ol.Collection');
goog.require('ol.Feature');

View File

@@ -82,11 +82,11 @@ describe('ol.interaction.Select', function() {
var shiftKey = opt_shiftKey !== undefined ? opt_shiftKey : false;
var event = new ol.MapBrowserPointerEvent(type, map,
new ol.pointer.PointerEvent(type,
new goog.events.BrowserEvent({
{
clientX: position.x + x + width / 2,
clientY: position.y + y + height / 2,
shiftKey: shiftKey
})));
}));
map.handleMapBrowserEvent(event);
}
@@ -333,8 +333,6 @@ describe('ol.interaction.Select', function() {
});
goog.require('goog.dispose');
goog.require('goog.events');
goog.require('goog.events.BrowserEvent');
goog.require('goog.style');
goog.require('ol.Collection');
goog.require('ol.Feature');

View File

@@ -56,12 +56,11 @@ describe('ol.interaction.Translate', function() {
var position = goog.style.getClientPosition(viewport);
var shiftKey = opt_shiftKey !== undefined ? opt_shiftKey : false;
var event = new ol.MapBrowserPointerEvent(type, map,
new ol.pointer.PointerEvent(type,
new goog.events.BrowserEvent({
new ol.pointer.PointerEvent(type, {
clientX: position.x + x + width / 2,
clientY: position.y + y + height / 2,
shiftKey: shiftKey
})));
}));
map.handleMapBrowserEvent(event);
}
@@ -110,8 +109,6 @@ describe('ol.interaction.Translate', function() {
});
goog.require('goog.dispose');
goog.require('goog.events');
goog.require('goog.events.BrowserEvent');
goog.require('goog.style');
goog.require('ol.Collection');
goog.require('ol.Feature');

View File

@@ -68,14 +68,14 @@ describe('ol.layer.Group', function() {
});
it('is dispatched by the group when layer opacity changes', function() {
group.on(goog.events.EventType.CHANGE, listener);
group.on(ol.events.EventType.CHANGE, listener);
layer.setOpacity(0.5);
expect(listener.calledOnce).to.be(true);
});
it('is dispatched by the group when layer visibility changes', function() {
group.on(goog.events.EventType.CHANGE, listener);
group.on(ol.events.EventType.CHANGE, listener);
layer.setVisible(false);
expect(listener.callCount).to.be(1);
@@ -286,14 +286,14 @@ describe('ol.layer.Group', function() {
var listeners = layerGroup.listenerKeys_[goog.getUid(layer)];
expect(listeners.length).to.eql(2);
expect(listeners[0]).to.be.a(goog.events.Listener);
expect(listeners[1]).to.be.a(goog.events.Listener);
expect(typeof listeners[0]).to.be('string');
expect(typeof listeners[1]).to.be('string');
// remove the layer from the group
layers.pop();
expect(goog.object.getCount(layerGroup.listenerKeys_)).to.eql(0);
expect(listeners[0].removed).to.eql(true);
expect(listeners[1].removed).to.eql(true);
expect(ol.events.listenersByKey_[listeners[0]]).to.be(undefined);
expect(ol.events.listenersByKey_[listeners[1]]).to.be(undefined);
});
});
@@ -491,8 +491,8 @@ describe('ol.layer.Group', function() {
goog.require('goog.array');
goog.require('goog.dispose');
goog.require('goog.events.EventType');
goog.require('goog.events.Listener');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('goog.object');
goog.require('ol.ObjectEventType');
goog.require('ol.extent');

View File

@@ -212,7 +212,7 @@ describe('ol.Map', function() {
target: document.createElement('div')
});
var viewportResizeListeners = map.viewportSizeMonitor_.getListeners(
goog.events.EventType.RESIZE, false);
ol.events.EventType.RESIZE, false);
expect(viewportResizeListeners).to.have.length(1);
});
@@ -220,7 +220,7 @@ describe('ol.Map', function() {
it('unregisters the viewport resize listener', function() {
map.setTarget(null);
var viewportResizeListeners = map.viewportSizeMonitor_.getListeners(
goog.events.EventType.RESIZE, false);
ol.events.EventType.RESIZE, false);
expect(viewportResizeListeners).to.have.length(0);
});
});
@@ -230,7 +230,7 @@ describe('ol.Map', function() {
map.setTarget(null);
map.setTarget(document.createElement('div'));
var viewportResizeListeners = map.viewportSizeMonitor_.getListeners(
goog.events.EventType.RESIZE, false);
ol.events.EventType.RESIZE, false);
expect(viewportResizeListeners).to.have.length(1);
});
});
@@ -316,15 +316,15 @@ describe('ol.Map', function() {
target: target
});
var browserEvent = new goog.events.BrowserEvent({
var browserEvent = {
type: 'touchend',
target: target,
changedTouches: [{
clientX: 100,
clientY: 200
}]
});
var position = map.getEventPixel(browserEvent.getBrowserEvent());
};
var position = map.getEventPixel(browserEvent);
// 80 = clientX - target.style.left
expect(position[0]).to.eql(80);
// 190 = clientY - target.style.top
@@ -401,8 +401,7 @@ describe('ol.Map', function() {
goog.require('goog.dispose');
goog.require('goog.dom');
goog.require('goog.events.BrowserEvent');
goog.require('goog.events.EventType');
goog.require('ol.events.EventType');
goog.require('ol.Map');
goog.require('ol.MapEvent');
goog.require('ol.Overlay');

View File

@@ -17,13 +17,13 @@ describe('ol.MapBrowserEventHandler', function() {
}));
clickSpy = sinon.spy();
goog.events.listen(handler, 'click', clickSpy);
ol.events.listen(handler, 'click', clickSpy);
singleclickSpy = sinon.spy();
goog.events.listen(handler, 'singleclick', singleclickSpy);
ol.events.listen(handler, 'singleclick', singleclickSpy);
dblclickSpy = sinon.spy();
goog.events.listen(handler, 'dblclick', dblclickSpy);
ol.events.listen(handler, 'dblclick', dblclickSpy);
});
@@ -32,24 +32,22 @@ describe('ol.MapBrowserEventHandler', function() {
});
it('emulates click', function() {
handler.emulateClick_(new ol.pointer.PointerEvent('pointerdown',
new goog.events.BrowserEvent({
type: 'mousedown',
target: target,
clientX: 0,
clientY: 0
})));
handler.emulateClick_(new ol.pointer.PointerEvent('pointerdown', {
type: 'mousedown',
target: target,
clientX: 0,
clientY: 0
}));
expect(clickSpy.called).to.be.ok();
});
it('emulates singleclick', function() {
handler.emulateClick_(new ol.pointer.PointerEvent('pointerdown',
new goog.events.BrowserEvent({
type: 'mousedown',
target: target,
clientX: 0,
clientY: 0
})));
handler.emulateClick_(new ol.pointer.PointerEvent('pointerdown', {
type: 'mousedown',
target: target,
clientX: 0,
clientY: 0
}));
expect(singleclickSpy.called).to.not.be.ok();
expect(dblclickSpy.called).to.not.be.ok();
@@ -57,35 +55,32 @@ describe('ol.MapBrowserEventHandler', function() {
expect(singleclickSpy.calledOnce).to.be.ok();
expect(dblclickSpy.called).to.not.be.ok();
handler.emulateClick_(new ol.pointer.PointerEvent('pointerdown',
new goog.events.BrowserEvent({
type: 'mousedown',
target: target,
clientX: 0,
clientY: 0
})));
handler.emulateClick_(new ol.pointer.PointerEvent('pointerdown', {
type: 'mousedown',
target: target,
clientX: 0,
clientY: 0
}));
expect(singleclickSpy.calledOnce).to.be.ok();
expect(dblclickSpy.called).to.not.be.ok();
});
it('emulates dblclick', function() {
handler.emulateClick_(new ol.pointer.PointerEvent('pointerdown',
new goog.events.BrowserEvent({
type: 'mousedown',
target: target,
clientX: 0,
clientY: 0
})));
handler.emulateClick_(new ol.pointer.PointerEvent('pointerdown', {
type: 'mousedown',
target: target,
clientX: 0,
clientY: 0
}));
expect(singleclickSpy.called).to.not.be.ok();
expect(dblclickSpy.called).to.not.be.ok();
handler.emulateClick_(new ol.pointer.PointerEvent('pointerdown',
new goog.events.BrowserEvent({
type: 'mousedown',
target: target,
clientX: 0,
clientY: 0
})));
handler.emulateClick_(new ol.pointer.PointerEvent('pointerdown', {
type: 'mousedown',
target: target,
clientX: 0,
clientY: 0
}));
expect(singleclickSpy.called).to.not.be.ok();
expect(dblclickSpy.calledOnce).to.be.ok();
@@ -108,8 +103,7 @@ describe('ol.MapBrowserEventHandler', function() {
});
it('is an event after handlePointerDown_ has been called', function() {
var event = new ol.pointer.PointerEvent('pointerdown',
new goog.events.BrowserEvent({}));
var event = new ol.pointer.PointerEvent('pointerdown', {});
handler.handlePointerDown_(event);
expect(handler.down_).to.be(event);
});
@@ -118,8 +112,7 @@ describe('ol.MapBrowserEventHandler', function() {
});
goog.require('goog.dom');
goog.require('goog.events');
goog.require('goog.events.BrowserEvent');
goog.require('ol.events');
goog.require('ol.Map');
goog.require('ol.MapBrowserEventHandler');
goog.require('ol.pointer.PointerEvent');

View File

@@ -113,10 +113,10 @@ describe('ol.Object', function() {
beforeEach(function() {
listener1 = sinon.spy();
goog.events.listen(o, 'change:k', listener1);
ol.events.listen(o, 'change:k', listener1);
listener2 = sinon.spy();
goog.events.listen(o, ol.ObjectEventType.PROPERTYCHANGE, listener2);
ol.events.listen(o, ol.ObjectEventType.PROPERTYCHANGE, listener2);
});
it('dispatches events', function() {
@@ -146,10 +146,10 @@ describe('ol.Object', function() {
beforeEach(function() {
listener1 = sinon.spy();
goog.events.listen(o, 'change:k', listener1);
ol.events.listen(o, 'change:k', listener1);
listener2 = sinon.spy();
goog.events.listen(o, ol.ObjectEventType.PROPERTYCHANGE, listener2);
ol.events.listen(o, ol.ObjectEventType.PROPERTYCHANGE, listener2);
});
it('dispatches events to object', function() {
@@ -222,9 +222,9 @@ describe('ol.Object', function() {
beforeEach(function() {
listener1 = sinon.spy();
goog.events.listen(o, 'change:k', listener1);
ol.events.listen(o, 'change:k', listener1);
listener2 = sinon.spy();
goog.events.listen(o, 'change:K', listener2);
ol.events.listen(o, 'change:K', listener2);
});
it('dispatches the expected event', function() {
@@ -239,6 +239,6 @@ describe('ol.Object', function() {
});
goog.require('goog.events');
goog.require('ol.events');
goog.require('ol.Object');
goog.require('ol.ObjectEventType');

View File

@@ -7,7 +7,7 @@ describe('ol.Observable', function() {
it('creates a new observable', function() {
var observable = new ol.Observable();
expect(observable).to.be.a(ol.Observable);
expect(observable).to.be.a(goog.events.EventTarget);
expect(observable).to.be.a(ol.events.EventTarget);
});
});
@@ -51,7 +51,7 @@ describe('ol.Observable', function() {
it('returns a listener key', function() {
var key = observable.on('foo', listener);
expect(key).to.be.a(goog.events.Listener);
expect(typeof key).to.be('string');
});
});
@@ -101,7 +101,7 @@ describe('ol.Observable', function() {
it('returns a listener key', function() {
var key = observable.once('foo', listener);
expect(key).to.be.a(goog.events.Listener);
expect(typeof key).to.be('string');
});
});
@@ -167,6 +167,5 @@ describe('ol.Observable', function() {
});
goog.require('goog.events.EventTarget');
goog.require('goog.events.Listener');
goog.require('ol.events.EventTarget');
goog.require('ol.Observable');

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');

View File

@@ -39,8 +39,8 @@ describe('ol.renderer.vector', function() {
style, squaredTolerance, listener, listenerThis);
expect(iconStyleLoadSpy.calledOnce).to.be.ok();
listeners = goog.events.getListeners(
iconStyle.iconImage_, goog.events.EventType.CHANGE, false);
listeners = ol.events.getListeners(
iconStyle.iconImage_, ol.events.EventType.CHANGE);
expect(listeners.length).to.eql(1);
// call #2
@@ -48,8 +48,8 @@ describe('ol.renderer.vector', function() {
style, squaredTolerance, listener, listenerThis);
expect(iconStyleLoadSpy.calledOnce).to.be.ok();
listeners = goog.events.getListeners(
iconStyle.iconImage_, goog.events.EventType.CHANGE, false);
listeners = ol.events.getListeners(
iconStyle.iconImage_, ol.events.EventType.CHANGE);
expect(listeners.length).to.eql(1);
});
@@ -155,8 +155,8 @@ describe('ol.renderer.vector', function() {
});
});
goog.require('goog.events');
goog.require('goog.events.EventType');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.geom.LineString');
goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon');

View File

@@ -2,7 +2,7 @@ goog.provide('ol.test.renderer.Layer');
describe('ol.renderer.Layer', function() {
var renderer;
var eventType = goog.events.EventType.CHANGE;
var eventType = ol.events.EventType.CHANGE;
beforeEach(function() {
var layer = new ol.layer.Layer({});
@@ -79,7 +79,7 @@ describe('ol.renderer.Layer', function() {
});
});
goog.require('goog.events.EventType');
goog.require('ol.events.EventType');
goog.require('ol.Image');
goog.require('ol.ImageState');
goog.require('ol.layer.Layer');

View File

@@ -18,7 +18,7 @@ describe('ol.reproj.Image', function() {
it('changes state as expected', function(done) {
var image = createImage(1);
expect(image.getState()).to.be(ol.ImageState.IDLE);
image.listen('change', function() {
ol.events.listen(image, 'change', function() {
if (image.getState() == ol.ImageState.LOADED) {
done();
}
@@ -28,7 +28,7 @@ describe('ol.reproj.Image', function() {
it('returns correct canvas size', function(done) {
var image = createImage(1);
image.listen('change', function() {
ol.events.listen(image, 'change', function() {
if (image.getState() == ol.ImageState.LOADED) {
var canvas = image.getImage();
expect(canvas.width).to.be(36);
@@ -41,7 +41,7 @@ describe('ol.reproj.Image', function() {
it('respects pixelRatio', function(done) {
var image = createImage(2);
image.listen('change', function() {
ol.events.listen(image, 'change', function() {
if (image.getState() == ol.ImageState.LOADED) {
var canvas = image.getImage();
expect(canvas.width).to.be(72);
@@ -56,5 +56,6 @@ describe('ol.reproj.Image', function() {
goog.require('ol.Image');
goog.require('ol.ImageState');
goog.require('ol.events');
goog.require('ol.proj');
goog.require('ol.reproj.Image');

View File

@@ -34,7 +34,7 @@ describe('ol.reproj.Tile', function() {
it('changes state as expected', function(done) {
var tile = createTile(1);
expect(tile.getState()).to.be(ol.TileState.IDLE);
tile.listen('change', function() {
ol.events.listen(tile, 'change', function() {
if (tile.getState() == ol.TileState.LOADED) {
done();
}
@@ -68,7 +68,7 @@ describe('ol.reproj.Tile', function() {
it('respects tile size of target tile grid', function(done) {
var tile = createTile(1, [100, 40]);
tile.listen('change', function() {
ol.events.listen(tile, 'change', function() {
if (tile.getState() == ol.TileState.LOADED) {
var canvas = tile.getImage();
expect(canvas.width).to.be(100);
@@ -81,7 +81,7 @@ describe('ol.reproj.Tile', function() {
it('respects pixelRatio', function(done) {
var tile = createTile(3, [60, 20]);
tile.listen('change', function() {
ol.events.listen(tile, 'change', function() {
if (tile.getState() == ol.TileState.LOADED) {
var canvas = tile.getImage();
expect(canvas.width).to.be(180);
@@ -96,5 +96,6 @@ describe('ol.reproj.Tile', function() {
goog.require('ol.ImageTile');
goog.require('ol.TileState');
goog.require('ol.events');
goog.require('ol.proj');
goog.require('ol.reproj.Tile');

View File

@@ -124,7 +124,7 @@ describe('ol.source.TileImage', function() {
var tile = source.getTile(0, 0, -1, 1, ol.proj.get('EPSG:3857'));
expect(tile).to.be.a(ol.reproj.Tile);
tile.listen('change', function() {
ol.events.listen(tile, 'change', function() {
if (tile.getState() == ol.TileState.LOADED) {
done();
}
@@ -143,7 +143,7 @@ describe('ol.source.TileImage', function() {
var tile = source.getTile(0, 0, -1, 1, proj);
expect(tile).to.be.a(ol.reproj.Tile);
tile.listen('change', function() {
ol.events.listen(tile, 'change', function() {
if (tile.getState() == ol.TileState.LOADED) {
done();
}
@@ -157,6 +157,7 @@ goog.require('ol.ImageTile');
goog.require('ol.Tile');
goog.require('ol.TileState');
goog.require('ol.TileUrlFunction');
goog.require('ol.events');
goog.require('ol.proj');
goog.require('ol.proj.Projection');
goog.require('ol.reproj.Tile');

View File

@@ -11,7 +11,7 @@ describe('ol.source.TileJSON', function() {
var source = new ol.source.TileJSON({
url: 'invalid.jsonp'
});
goog.events.listen(source, 'change', changeSpy);
ol.events.listen(source, 'change', changeSpy);
});
});
@@ -73,7 +73,7 @@ describe('ol.source.TileJSON', function() {
});
goog.require('goog.events');
goog.require('ol.events');
goog.require('ol.source.State');
goog.require('ol.source.TileJSON');
goog.require('ol.Observable');

View File

@@ -57,7 +57,7 @@ describe('ol.source.Vector', function() {
it('fires a change event', function() {
var listener = sinon.spy();
goog.events.listen(vectorSource, 'change', listener);
ol.events.listen(vectorSource, 'change', listener);
vectorSource.addFeature(pointFeature);
expect(listener).to.be.called();
});
@@ -98,11 +98,11 @@ describe('ol.source.Vector', function() {
it('removes all features using fast path', function() {
var changeSpy = sinon.spy();
goog.events.listen(vectorSource, 'change', changeSpy);
ol.events.listen(vectorSource, 'change', changeSpy);
var removeFeatureSpy = sinon.spy();
goog.events.listen(vectorSource, 'removefeature', removeFeatureSpy);
ol.events.listen(vectorSource, 'removefeature', removeFeatureSpy);
var clearSourceSpy = sinon.spy();
goog.events.listen(vectorSource, 'clear', clearSourceSpy);
ol.events.listen(vectorSource, 'clear', clearSourceSpy);
vectorSource.clear(true);
expect(vectorSource.getFeatures()).to.eql([]);
expect(vectorSource.isEmpty()).to.be(true);
@@ -116,11 +116,11 @@ describe('ol.source.Vector', function() {
it('removes all features using slow path', function() {
var changeSpy = sinon.spy();
goog.events.listen(vectorSource, 'change', changeSpy);
ol.events.listen(vectorSource, 'change', changeSpy);
var removeFeatureSpy = sinon.spy();
goog.events.listen(vectorSource, 'removefeature', removeFeatureSpy);
ol.events.listen(vectorSource, 'removefeature', removeFeatureSpy);
var clearSourceSpy = sinon.spy();
goog.events.listen(vectorSource, 'clear', clearSourceSpy);
ol.events.listen(vectorSource, 'clear', clearSourceSpy);
vectorSource.clear();
expect(vectorSource.getFeatures()).to.eql([]);
expect(vectorSource.isEmpty()).to.be(true);
@@ -184,7 +184,7 @@ describe('ol.source.Vector', function() {
it('fires a change event', function() {
var listener = sinon.spy();
goog.events.listen(vectorSource, 'change', listener);
ol.events.listen(vectorSource, 'change', listener);
vectorSource.removeFeature(features[0]);
expect(listener).to.be.called();
});
@@ -270,7 +270,7 @@ describe('ol.source.Vector', function() {
var feature = new ol.Feature(new ol.geom.Point([1, 1]));
vectorSource.addFeature(feature);
var listener = sinon.spy();
goog.events.listen(vectorSource, 'change', listener);
ol.events.listen(vectorSource, 'change', listener);
feature.set('foo', 'bar');
expect(listener).to.be.called();
});
@@ -554,7 +554,7 @@ describe('ol.source.Vector', function() {
});
goog.require('goog.events');
goog.require('ol.events');
goog.require('ol.Collection');
goog.require('ol.Feature');
goog.require('ol.geom.Point');

View File

@@ -194,14 +194,14 @@ describe('ol.style.IconImageCache', function() {
src = '0';
iconImage = new ol.style.IconImage_(src, null);
goog.events.listen(iconImage, goog.events.EventType.CHANGE,
ol.events.listen(iconImage, ol.events.EventType.CHANGE,
ol.nullFunction, false);
cache.set(src, null, null, iconImage);
expect(cache.cacheSize_).to.eql(4);
src = '4';
iconImage = new ol.style.IconImage_(src, null);
goog.events.listen(iconImage, goog.events.EventType.CHANGE,
ol.events.listen(iconImage, ol.events.EventType.CHANGE,
ol.nullFunction, false);
cache.set(src, null, null, iconImage);
expect(cache.cacheSize_).to.eql(5);
@@ -217,6 +217,6 @@ describe('ol.style.IconImageCache', function() {
});
});
goog.require('goog.events');
goog.require('goog.events.EventType');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.style.IconImageCache');