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) { eraseGeometry: function(geometry) {
if ((geometry.CLASS_NAME == "OpenLayers.Geometry.MultiPoint") || if ((geometry.CLASS_NAME == "OpenLayers.Geometry.MultiPoint") ||
(geometry.CLASS_NAME == "OpenLayers.Geometry.MultiLineString") || (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++) { for (var i = 0; i < geometry.components.length; i++) {
this.eraseGeometry(geometry.components[i]); this.eraseGeometry(geometry.components[i]);
} }

View File

@@ -308,7 +308,7 @@
} }
function test_Elements_erasegeometry(t) { function test_Elements_erasegeometry(t) {
t.plan(4); t.plan(5);
var el = document.createElement('div'); var el = document.createElement('div');
document.body.appendChild(el); document.body.appendChild(el);
@@ -358,6 +358,19 @@
OpenLayers.Renderer.Elements.prototype.eraseGeometry(geometry); OpenLayers.Renderer.Elements.prototype.eraseGeometry(geometry);
t.ok(el.parentNode != document.body, "geometry components correctly removed when passed a multipolygon"); 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> </script>