Completing tests for map handlers.

This commit is contained in:
ahocevar
2012-07-12 23:48:13 +02:00
parent ba986e536d
commit f4532f1548
3 changed files with 124 additions and 10 deletions

View File

@@ -1,17 +1,47 @@
describe('ol.handler.Click', function() {
var map, elt;
var map, elt, listener;
beforeEach(function() {
map = new ol.Map();
elt = goog.dom.createDom('div');
elt = new goog.events.EventTarget();
map.viewport_ = elt;
listener = {fn: function() {}};
spyOn(listener, 'fn');
});
describe('create a drag handler', function() {
describe('creating a drag handler', function() {
it('returns an ol.handler.Click instance', function() {
var handler = new ol.handler.Click(map, elt, {});
var handler = new ol.handler.Click(map, {});
expect(handler).toBeA(ol.handler.Click);
});
});
describe('dispatching events', function() {
it('dispatches a click event which is an ol.events.MapEvent', function() {
new ol.handler.Click(map, {});
goog.events.listen(map, 'click', listener.fn);
goog.events.fireListeners(elt, 'click', false, 'foo');
var evt = listener.fn.calls[0].args[0];
expect(evt).toBeA(ol.events.MapEvent);
expect(evt.originalEvent).toBe('foo');
});
it('ignores click events when the dragged state is set', function() {
var states = {};
new ol.handler.Click(map, states);
goog.events.listen(map, 'click', listener.fn);
goog.events.fireListeners(elt, 'click', false);
expect(listener.fn.calls.length).toBe(1);
states.dragged = true;
goog.events.fireListeners(elt, 'click', false);
expect(listener.fn.calls.length).toBe(1);
});
});
});