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

commits-20090109 at openlayers.org commits-20090109 at openlayers.org
Sun Feb 13 17:08:37 EST 2011


Author: erilem
Date: 2011-02-13 14:08:37 -0800 (Sun, 13 Feb 2011)
New Revision: 11112

Modified:
   sandbox/elemoine/draw-feature/tests/Handler/Path.html
   sandbox/elemoine/draw-feature/tests/Handler/Polygon.html
Log:
refactor path and polygon handlers tests, and add a failing test for each, where the persisted feature is not destroyed on new drawing

Modified: sandbox/elemoine/draw-feature/tests/Handler/Path.html
===================================================================
--- sandbox/elemoine/draw-feature/tests/Handler/Path.html	2011-02-12 20:30:20 UTC (rev 11111)
+++ sandbox/elemoine/draw-feature/tests/Handler/Path.html	2011-02-13 22:08:37 UTC (rev 11112)
@@ -266,7 +266,7 @@
     }        
 
     function test_persist(t) {
-        t.plan(3);
+        t.plan(4);
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
         });
@@ -283,38 +283,53 @@
 
         handler.activate();
 
-        function draw() {
-            handler.mousemove(
-                {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
-            handler.mousedown(
-                {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
-            handler.mouseup(
-                {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
-            handler.mousemove(
-                {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
-            handler.dblclick(
-                {type: "dblclick", xy: new OpenLayers.Pixel(1, 1)});
-        }
-
         handler.persist = false;
-        draw();
-        t.eq(handler.layer.features.length, 2,
-             "feature destroyed on dblclick when persist is false");
+        var feature1 = handler.line;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
+        handler.dblclick(
+            {type: "dblclick", xy: new OpenLayers.Pixel(1, 1)});
+        t.ok(feature1.layer == null, "a) feature1 destroyed");
 
         handler.persist = true;
-        draw();
-        var feature = handler.layer.features[0];
-        t.eq(handler.layer.features.length, 3,
-             "feature not destroyed on dblclick when persist is true");
-        draw();
-        t.ok(handler.layer.features[0] !== feature,
-             "persisted feature destroyed on next dblclick");
+        var feature2 = handler.line;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
+        handler.dblclick(
+            {type: "dblclick", xy: new OpenLayers.Pixel(1, 1)});
+        t.ok(feature2.layer != null, "b) feature2 not destroyed");
 
+        var feature3 = handler.line;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
+        handler.dblclick(
+            {type: "dblclick", xy: new OpenLayers.Pixel(1, 1)});
+        t.ok(feature3.layer != null, "c) feature3 not destroyed");
+        t.ok(feature2.layer == null, "c) feature2 destroyed");
+
         map.destroy();
     }
 
     function test_persist_freehand(t) {
-        t.plan(3);
+        t.plan(6);
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
         });
@@ -324,40 +339,69 @@
         });
         map.addLayer(layer);
         var control = new OpenLayers.Control({});
-        var handler = new OpenLayers.Handler.Path(control, {}, {freehand: true});
+        var handler = new OpenLayers.Handler.Path(control, {});
         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(0, 0)});
-        }
-
         handler.activate();
 
         handler.persist = false;
-        draw();
-        t.eq(handler.layer.features.length, 2,
-             "feature destroyed on mouseup when persist is false");
+        var feature1 = handler.line;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        t.ok(feature1.layer == null, "a) feature1 destroyed");
 
         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");
+        feature2 = handler.line;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        t.ok(feature2.layer != null, "b) feature2 not destroyed");
 
+        feature3 = handler.line;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        t.ok(feature3.layer != null, "c) feature3 not destroyed");
+        t.ok(feature2.layer == null, "c) feature2 destroyed");
+
+        feature4 = handler.line;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: false});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        t.ok(feature4.layer != null, "d) feature4 not destroyed");
+        t.ok(feature3.layer == null, "c) feature3 destroyed");
+
         map.destroy();
     }
 

Modified: sandbox/elemoine/draw-feature/tests/Handler/Polygon.html
===================================================================
--- sandbox/elemoine/draw-feature/tests/Handler/Polygon.html	2011-02-12 20:30:20 UTC (rev 11111)
+++ sandbox/elemoine/draw-feature/tests/Handler/Polygon.html	2011-02-13 22:08:37 UTC (rev 11112)
@@ -274,7 +274,7 @@
     }        
 
     function test_persist(t) {
-        t.plan(3);
+        t.plan(4);
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
         });
@@ -289,46 +289,73 @@
         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.mouseup(
-                {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
-            handler.mousemove(
-                {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
-            handler.mousedown(
-                {type: "mousedown", xy: new OpenLayers.Pixel(1, 1)});
-            handler.mouseup(
-                {type: "mouseup", xy: new OpenLayers.Pixel(1, 1)});
-            handler.mousemove(
-                {type: "mousemove", xy: new OpenLayers.Pixel(2, 2)});
-            handler.dblclick(
-                {type: "dblclick", xy: new OpenLayers.Pixel(2, 2)});
-        }
-
         handler.activate();
 
         handler.persist = false;
-        draw();
-        t.eq(handler.layer.features.length, 2,
-             "feature destroyed on dblclick when persist is false");
+        var feature1 = handler.polygon;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(1, 1)});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(1, 1)});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2)});
+        handler.dblclick(
+            {type: "dblclick", xy: new OpenLayers.Pixel(2, 2)});
+        t.ok(feature1.layer == null, "a) feature1 destroyed");
 
         handler.persist = true;
-        draw();
-        var feature = handler.layer.features[0];
-        t.eq(handler.layer.features.length, 3,
-             "feature not destroyed on dblclick when persist is true");
-        draw();
-        t.ok(handler.layer.features[0] !== feature,
-             "persisted feature destroyed on next dblclick");
+        var feature2 = handler.polygon;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(1, 1)});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(1, 1)});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2)});
+        handler.dblclick(
+            {type: "dblclick", xy: new OpenLayers.Pixel(2, 2)});
+        t.ok(feature2.layer != null, "b) feature2 not destroyed");
 
+        var feature3 = handler.polygon;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(1, 1)});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(1, 1)});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2)});
+        handler.dblclick(
+            {type: "dblclick", xy: new OpenLayers.Pixel(2, 2)});
+        t.ok(feature3.layer != null, "c) feature3 not destroyed");
+        t.ok(feature2.layer == null, "c) feature2 destroyed");
+
         map.destroy();
     }
 
     function test_persist_freehand(t) {
-        t.plan(3);
+        t.plan(6);
         var map = new OpenLayers.Map("map", {
             resolutions: [1]
         });
@@ -338,40 +365,69 @@
         });
         map.addLayer(layer);
         var control = new OpenLayers.Control({});
-        var handler = new OpenLayers.Handler.Polygon(control, {}, {freehand: true});
+        var handler = new OpenLayers.Handler.Polygon(control, {});
         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");
+        var feature1 = handler.polygon;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        t.ok(feature1.layer == null, "a) feature1 destroyed");
 
         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");
+        var feature2 = handler.polygon;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        t.ok(feature2.layer != null, "b) feature2 not destroyed");
 
+        var feature3 = handler.polygon;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        t.ok(feature3.layer != null, "c) feature3 not destroyed");
+        t.ok(feature2.layer == null, "c) feature2 destroyed");
+
+        feature4 = handler.polygon;
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(0, 0)});
+        handler.mousedown(
+            {type: "mousedown", xy: new OpenLayers.Pixel(0, 0), shiftKey: false});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(1, 1), shiftKey: true});
+        handler.mousemove(
+            {type: "mousemove", xy: new OpenLayers.Pixel(2, 2), shiftKey: true});
+        handler.mouseup(
+            {type: "mouseup", xy: new OpenLayers.Pixel(0, 0), shiftKey: true});
+        t.ok(feature4.layer != null, "d) feature4 not destroyed");
+        t.ok(feature3.layer == null, "c) feature3 destroyed");
+
         map.destroy();
     }
 



More information about the Commits mailing list