we forgot to take Geometry.Collection into account when erasing geometries, r=elemoine (Closes #1621)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@7542 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
pgiraud
2008-07-18 07:18:27 +00:00
parent 67a97a3f07
commit eac4ff0c84
2 changed files with 16 additions and 2 deletions

View File

@@ -332,7 +332,8 @@ OpenLayers.Renderer.Elements = OpenLayers.Class(OpenLayers.Renderer, {
eraseGeometry: function(geometry) {
if ((geometry.CLASS_NAME == "OpenLayers.Geometry.MultiPoint") ||
(geometry.CLASS_NAME == "OpenLayers.Geometry.MultiLineString") ||
(geometry.CLASS_NAME == "OpenLayers.Geometry.MultiPolygon")) {
(geometry.CLASS_NAME == "OpenLayers.Geometry.MultiPolygon") ||
(geometry.CLASS_NAME == "OpenLayers.Geometry.Collection")) {
for (var i = 0; i < geometry.components.length; i++) {
this.eraseGeometry(geometry.components[i]);
}

View File

@@ -308,7 +308,7 @@
}
function test_Elements_erasegeometry(t) {
t.plan(4);
t.plan(5);
var el = document.createElement('div');
document.body.appendChild(el);
@@ -358,6 +358,19 @@
OpenLayers.Renderer.Elements.prototype.eraseGeometry(geometry);
t.ok(el.parentNode != document.body, "geometry components correctly removed when passed a multipolygon");
var el = document.createElement('div');
document.body.appendChild(el);
el.id = 'bar';
var geometry = {
CLASS_NAME: "OpenLayers.Geometry.Collection",
components: [{
id: 'bar'
}]
};
OpenLayers.Renderer.Elements.prototype.eraseGeometry(geometry);
t.ok(el.parentNode != document.body, "geometry components correctly removed when passed a collection");
}
</script>