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:
@@ -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]);
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user