From 03fcf1ca706f0aa2a4ee975b133679eb68f46c64 Mon Sep 17 00:00:00 2001 From: David Brooks Date: Wed, 29 May 2019 14:08:03 +1200 Subject: [PATCH] Get all mouse wheel tests passing (#9564). --- .../ol/interaction/mousewheelzoom.test.js | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/test/spec/ol/interaction/mousewheelzoom.test.js b/test/spec/ol/interaction/mousewheelzoom.test.js index ee9b7fd87a..f016a2adf8 100644 --- a/test/spec/ol/interaction/mousewheelzoom.test.js +++ b/test/spec/ol/interaction/mousewheelzoom.test.js @@ -63,6 +63,11 @@ describe('ol.interaction.MouseWheelZoom', function() { describe('handleEvent()', function() { + let view; + beforeEach(function() { + view = map.getView(); + }); + if (FIREFOX) { it('works on Firefox in DOM_DELTA_PIXEL mode (trackpad)', function(done) { map.once('postrender', function() { @@ -149,8 +154,65 @@ describe('ol.interaction.MouseWheelZoom', function() { map.handleMapBrowserEvent(event); }); + it('works in DOM_DELTA_LINE mode (wheel)', function(done) { + map.once('postrender', function() { + expect(view.getResolution()).to.be(2); + expect(view.getCenter()).to.eql([0, 0]); + done(); + }); + + const event = new MapBrowserEvent('wheel', map, { + type: 'wheel', + deltaMode: WheelEvent.DOM_DELTA_LINE, + deltaY: 7.5, + target: map.getViewport(), + preventDefault: Event.prototype.preventDefault + }); + event.coordinate = [0, 0]; + + map.handleMapBrowserEvent(event); }); + if (SAFARI) { + it('works on Safari (wheel)', function(done) { + map.once('postrender', function() { + expect(view.getResolution()).to.be(2); + expect(view.getCenter()).to.eql([0, 0]); + done(); + }); + + const event = new MapBrowserEvent('mousewheel', map, { + type: 'mousewheel', + wheelDeltaY: -900, + target: map.getViewport(), + preventDefault: Event.prototype.preventDefault + }); + event.coordinate = [0, 0]; + + map.handleMapBrowserEvent(event); + }); + } + + if (!SAFARI) { + it('works on other browsers (wheel)', function(done) { + map.once('postrender', function() { + expect(view.getResolution()).to.be(2); + expect(view.getCenter()).to.eql([0, 0]); + done(); + }); + + const event = new MapBrowserEvent('mousewheel', map, { + type: 'mousewheel', + wheelDeltaY: -300, + target: map.getViewport(), + preventDefault: Event.prototype.preventDefault + }); + event.coordinate = [0, 0]; + + map.handleMapBrowserEvent(event); + }); + } + }); });