From 226480af901d737bf37b95dec6a410641bf42d6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Fri, 13 Jul 2012 16:20:23 +0200 Subject: [PATCH] fix mousewheel handler tests --- src/ol/handler/MouseWheel.js | 7 ++++- test/spec/ol/handler/MouseWheel.test.js | 42 ++++++++++++++----------- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/src/ol/handler/MouseWheel.js b/src/ol/handler/MouseWheel.js index 48b483294c..51f366b542 100644 --- a/src/ol/handler/MouseWheel.js +++ b/src/ol/handler/MouseWheel.js @@ -30,7 +30,12 @@ goog.require('goog.events.MouseWheelHandler.EventType'); ol.handler.MouseWheel = function(map, states) { goog.base(this, map, states); - var handler = new goog.events.MouseWheelHandler(this.element_); + /** + * @type {goog.events.MouseWheelHandler} + */ + this.handler_ = new goog.events.MouseWheelHandler(this.element_); + + var handler = this.handler_; this.registerDisposable(handler); goog.events.listen(handler, diff --git a/test/spec/ol/handler/MouseWheel.test.js b/test/spec/ol/handler/MouseWheel.test.js index 208ac2889e..ccd9e2aa8d 100644 --- a/test/spec/ol/handler/MouseWheel.test.js +++ b/test/spec/ol/handler/MouseWheel.test.js @@ -1,12 +1,10 @@ describe('ol.handler.MouseWheel', function() { - var map, elt; + var map; beforeEach(function() { map = new ol.Map(); - elt = new goog.events.EventTarget(); + var elt = new goog.events.EventTarget(); map.viewport_ = elt; - listener = {fn: function() {}}; - spyOn(listener, 'fn'); }); describe('create a mouse wheel handler', function() { @@ -20,25 +18,31 @@ describe('ol.handler.MouseWheel', function() { describe('dispatching events', function() { - it('dispatches a mousewheel event', function() { - var handler = new ol.handler.MouseWheel(map, {}); - goog.events.listen(map, 'mousewheel', listener.fn); + var handler; - var evt = new goog.events.MouseWheelEvent(1, 'foo', 0, 1); - handler.handleMouseWheel(evt); - - expect(listener.fn.calls[0].args[0].type).toBe('mousewheel'); - expect(listener.fn.calls[0].args[0].originalEvent).toBe(evt); + beforeEach(function() { + handler = new ol.handler.MouseWheel(map, {}); }); - it('calls the default action on the default control', function() { - var control = new ol.control.DefaultControl(); - spyOn(control, 'defaultMouseWheel'); - map.setDefaultControl(control); - var handler = new ol.handler.MouseWheel(map, {}); + it('dispatches a mousewheel event', function() { + var spy = spyOn(goog.events.Event, 'preventDefault').andCallThrough(); + goog.events.listen(map, ol.events.MapEventType.MOUSEWHEEL, spy); - handler.handleMouseWheel(new goog.events.MouseWheelEvent(1, 'foo', 0, 1)); - expect(control.defaultMouseWheel).toHaveBeenCalled(); + var evt = new goog.events.MouseWheelEvent(1, 'foo', 0, 1); + handler.handler_.dispatchEvent(evt); + + expect(spy).toHaveBeenCalled(); + expect(spy.argsForCall[0][0].type).toEqual(ol.events.MapEventType.MOUSEWHEEL); + }); + + it('calls the default action', function() { + var handler = new ol.handler.MouseWheel(map, {}); + spyOn(handler, 'defaultMouseWheel'); + + var evt = new goog.events.MouseWheelEvent(1, 'foo', 0, 1); + handler.handler_.dispatchEvent(evt); + + expect(handler.defaultMouseWheel).toHaveBeenCalled(); }); });