more tests for SelectControl.unselectAll
This commit is contained in:
@@ -560,31 +560,43 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function test_unselectAll(t) {
|
function test_unselectAll(t) {
|
||||||
t.plan(1);
|
t.plan(2);
|
||||||
|
|
||||||
var layer = new OpenLayers.Layer.Vector();
|
var layer = new OpenLayers.Layer.Vector();
|
||||||
|
|
||||||
var control = new OpenLayers.Control.SelectFeature(layer);
|
var control = new OpenLayers.Control.SelectFeature(layer);
|
||||||
|
|
||||||
var feature1 = new OpenLayers.Feature.Vector();
|
var feature1 = new OpenLayers.Feature.Vector();
|
||||||
|
feature1.id = 1;
|
||||||
var feature2 = new OpenLayers.Feature.Vector();
|
var feature2 = new OpenLayers.Feature.Vector();
|
||||||
|
feature2.id = 2;
|
||||||
var feature3 = new OpenLayers.Feature.Vector();
|
var feature3 = new OpenLayers.Feature.Vector();
|
||||||
|
feature3.id = 3;
|
||||||
|
var feature4 = new OpenLayers.Feature.Vector();
|
||||||
|
feature4.id = 4;
|
||||||
|
|
||||||
layer.addFeatures([feature1, feature2, feature3]);
|
layer.addFeatures([feature1, feature2, feature3, feature4]);
|
||||||
|
|
||||||
control.select(feature1);
|
control.select(feature1);
|
||||||
control.select(feature2);
|
control.select(feature2);
|
||||||
control.select(feature3);
|
control.select(feature3);
|
||||||
|
control.select(feature4);
|
||||||
|
|
||||||
layer.events.on({
|
layer.events.on({
|
||||||
featureunselected: function(e) {
|
featureunselected: function(e) {
|
||||||
layer.removeFeatures([feature2]);
|
// we change the selectedFeatures array while
|
||||||
|
// unselectAll is iterating over that array.
|
||||||
|
if(feature2.layer) {
|
||||||
|
layer.removeFeatures([feature2]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
control.unselectAll();
|
control.unselectAll({except: feature3});
|
||||||
t.eq(layer.selectedFeatures.length, 0,
|
t.eq(layer.selectedFeatures.length, 1,
|
||||||
'unselectAll unselects all features');
|
'unselectAll unselected all but one');
|
||||||
|
t.eq(layer.selectedFeatures[0].id, 3,
|
||||||
|
'the remaining selected features is the one expected');
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user