[OpenLayers-Commits] r11108 - sandbox/elemoine/draw-feature/tests/Handler

commits-20090109 at openlayers.org commits-20090109 at openlayers.org
Fri Feb 11 15:54:12 EST 2011


Author: erilem
Date: 2011-02-11 12:54:12 -0800 (Fri, 11 Feb 2011)
New Revision: 11108

Modified:
   sandbox/elemoine/draw-feature/tests/Handler/Polygon.html
Log:
add a persist_freehand test for the polygon handler

Modified: sandbox/elemoine/draw-feature/tests/Handler/Polygon.html
===================================================================
--- sandbox/elemoine/draw-feature/tests/Handler/Polygon.html	2011-02-11 20:54:03 UTC (rev 11107)
+++ sandbox/elemoine/draw-feature/tests/Handler/Polygon.html	2011-02-11 20:54:12 UTC (rev 11108)
@@ -327,6 +327,54 @@
         map.destroy();
     }
 
+    function test_persist_freehand(t) {
+        t.plan(3);
+        var map = new OpenLayers.Map("map", {
+            resolutions: [1]
+        });
+        var layer = new OpenLayers.Layer.Vector("foo", {
+            maxExtent: new OpenLayers.Bounds(-10, -10, 10, 10),
+            isBaseLayer: true
+        });
+        map.addLayer(layer);
+        var control = new OpenLayers.Control({});
+        var handler = new OpenLayers.Handler.Polygon(control, {}, {freehand: true});
+        control.handler = handler;
+        map.addControl(control);
+        map.setCenter(new OpenLayers.LonLat(0, 0), 0);
+
+        function draw() {
+            handler.mousemove(
+                {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+            handler.mousedown(
+                {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
+            handler.mousemove(
+                {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
+            handler.mousemove(
+                {type: "mousemove", xy: new OpenLayers.Pixel(2, 2)});
+            handler.mouseup(
+                {type: "mouseup", xy: new OpenLayers.Pixel(2, 2)});
+        }
+
+        handler.activate();
+
+        handler.persist = false;
+        draw();
+        t.eq(handler.layer.features.length, 2,
+             "feature destroyed on mouseup when persist is false");
+
+        handler.persist = true;
+        draw();
+        var feature = handler.layer.features[0];
+        t.eq(handler.layer.features.length, 3,
+             "feature not destroyed on mouseup when persist is true");
+        draw();
+        t.ok(handler.layer.features[0] !== feature,
+             "persisted feature destroyed on next mouseup");
+
+        map.destroy();
+    }
+
     function test_rings(t) {
         t.plan(12);
 



More information about the Commits mailing list