trigger an event when the layer's opacity change. r=elemoine (closes #2112)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@9616 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Frédéric Junod
2009-08-10 06:10:29 +00:00
parent c1a0d405e4
commit 2b9bd25530
3 changed files with 41 additions and 6 deletions
+29
View File
@@ -469,7 +469,36 @@
t.eq(hasBase, true, "when afterAdd is called, map has a base layer");
}
function test_setOpacity(t) {
t.plan(5);
var map, layer, log;
map = new OpenLayers.Map("map");
layer = new OpenLayers.Layer("");
map.addLayer(layer);
log = [];
map.events.register('changelayer', t, function(event) {
log.push({layer: event.layer, property: event.property});
});
layer.setOpacity(0.42);
t.eq(layer.opacity, 0.42,
"setOpacity() set layer.opacity to correct value");
t.eq(log.length, 1,
"setOpacity() triggers changelayer once");
t.ok(log[0].layer == layer,
"changelayer listener called with expected layer");
t.eq(log[0].property, "opacity",
"changelayer listener called with expected property");
// This call must not trig the event because the opacity value is the same.
log = [];
layer.setOpacity(0.42);
t.eq(log.length, 0,
"setOpacity() does not trigger changelayer if the opacity value is the same");
}
/******