use two different layers for Split tool's layer and the source layer so as to properly check for event unregistration

This commit is contained in:
Andrew Vardeman
2012-06-04 17:25:54 -05:00
parent cbba98279b
commit f64912c09d
+13 -8
View File
@@ -104,13 +104,18 @@
t.plan(7); t.plan(7);
var layer = new OpenLayers.Layer.Vector("foo", { var layer1 = new OpenLayers.Layer.Vector("foo", {
maxExtent: new OpenLayers.Bounds(-10, -10, 10, 10), maxExtent: new OpenLayers.Bounds(-10, -10, 10, 10),
isBaseLayer: true isBaseLayer: true
}); });
var control = new OpenLayers.Control.Split({layer: layer}); var layer2 = new OpenLayers.Layer.Vector("bar", {
maxExtent: new OpenLayers.Bounds(-10, -10, 10, 10),
isBaseLayer: false
});
var control = new OpenLayers.Control.Split({layer: layer1});
var map = new OpenLayers.Map("map"); var map = new OpenLayers.Map("map");
map.addLayer(layer); map.addLayer(layer1);
map.addLayer(layer2);
map.zoomToMaxExtent(); map.zoomToMaxExtent();
map.addControl(control); map.addControl(control);
@@ -124,17 +129,17 @@
t.eq(control.handler.active, false, "sketch handler deactivated"); t.eq(control.handler.active, false, "sketch handler deactivated");
// set a source layer // set a source layer
control.setSource(layer); control.setSource(layer2);
// activate and check that listeners are registered // activate and check that listeners are registered
control.activate(); control.activate();
t.ok(layer.events.listeners.sketchcomplete, "sketchcomplete listener registered"); t.ok(layer2.events.listeners.sketchcomplete, "sketchcomplete listener registered");
t.ok(layer.events.listeners.afterfeaturemodified, "afterfeaturemodified listener registered"); t.ok(layer2.events.listeners.afterfeaturemodified, "afterfeaturemodified listener registered");
// deactivate and confirm no draw related events // deactivate and confirm no draw related events
control.deactivate(); control.deactivate();
t.eq(layer.events.listeners.sketchcomplete.length, 0, "no sketchcomplete listeners"); t.eq(layer2.events.listeners.sketchcomplete.length, 0, "no sketchcomplete listeners");
t.eq(layer.events.listeners.afterfeaturemodified.length, 0, "no afterfeaturemodified listeners"); t.eq(layer2.events.listeners.afterfeaturemodified.length, 0, "no afterfeaturemodified listeners");
map.destroy(); map.destroy();
} }