do not reuse event objects to avoid incorrect event types. r=bartvde (closes #3280)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@11958 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
ahocevar
2011-05-09 07:36:57 +00:00
parent 491a5c0f62
commit 5e7c501539
2 changed files with 34 additions and 5 deletions

View File

@@ -54,7 +54,7 @@
}
function test_setFeature(t) {
t.plan(4);
t.plan(6);
var map = new OpenLayers.Map("map", {allOverlays: true});
var layer = new OpenLayers.Layer.Vector();
var feature = new OpenLayers.Feature.Vector(
@@ -64,8 +64,16 @@
map.setCenter(new OpenLayers.LonLat(0, 0), 18);
var control = new OpenLayers.Control.TransformFeature(layer);
map.addControl(control);
var log = [];
control.events.on({
"beforesetfeature": function(e) { log.push(e); },
"setfeature": function(e) { log.push(e); }
});
control.setFeature(feature);
t.eq(log[0].type, "beforesetfeature", "beforesetfeature event fired with correct event type");
t.eq(log[1].type, "setfeature", "setfeature event fired with correct event type");
t.ok(control.active, "control activated on setFeature");
t.ok(feature.geometry.getBounds().equals(control.box.geometry.getBounds()), "box positioned correctly");
t.geom_eq(control.handles[0].geometry, control.box.geometry.components[0], "handle positioned with box");