From c0c7b71af69cb1b373bfa2f25dd91fab2a096605 Mon Sep 17 00:00:00 2001 From: Guillaume Beraudo Date: Thu, 16 Apr 2015 17:44:45 +0200 Subject: [PATCH] Add draw interaction test case --- .../ol/interaction/drawinteraction.test.js | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test/spec/ol/interaction/drawinteraction.test.js b/test/spec/ol/interaction/drawinteraction.test.js index 2d148c9ca4..1d73c68bb4 100644 --- a/test/spec/ol/interaction/drawinteraction.test.js +++ b/test/spec/ol/interaction/drawinteraction.test.js @@ -145,6 +145,29 @@ describe('ol.interaction.Draw', function() { expect(ds).to.be.called(2); expect(de).to.be.called(1); }); + + it('triggers drawend event before inserting the feature', function() { + var receivedEvents = { + end: 0, + addfeature: 0 + }; + goog.events.listen(draw, ol.DrawEventType.DRAWEND, function() { + expect(receivedEvents.end).to.be(0); + expect(receivedEvents.addfeature).to.be(0); + ++receivedEvents.end; + }); + source.on(ol.source.VectorEventType.ADDFEATURE, function() { + expect(receivedEvents.end).to.be(1); + expect(receivedEvents.addfeature).to.be(0); + receivedEvents.addfeature++; + }); + simulateEvent('pointermove', 10, 20); + simulateEvent('pointerdown', 10, 20); + simulateEvent('pointerup', 10, 20); + simulateEvent('pointermove', 20, 20); + expect(receivedEvents.end).to.be(1); + expect(receivedEvents.addfeature).to.be(1); + }); }); describe('drawing multipoints', function() { @@ -661,3 +684,4 @@ goog.require('ol.interaction.Interaction'); goog.require('ol.layer.Vector'); goog.require('ol.pointer.PointerEvent'); goog.require('ol.source.Vector'); +goog.require('ol.source.VectorEventType');