OpenLayers OpenLayers

Ticket #1621: patch-1621-r7538-A0.diff

File patch-1621-r7538-A0.diff, 1.9 kB (added by pgiraud, 6 months ago)
  • tests/Renderer/Elements.html

    old new  
    308308    } 
    309309     
    310310    function test_Elements_erasegeometry(t) { 
    311         t.plan(4); 
     311        t.plan(5); 
    312312         
    313313        var el = document.createElement('div'); 
    314314        document.body.appendChild(el); 
     
    358358         
    359359        OpenLayers.Renderer.Elements.prototype.eraseGeometry(geometry); 
    360360        t.ok(el.parentNode != document.body, "geometry components correctly removed when passed a multipolygon"); 
     361         
     362        var el = document.createElement('div'); 
     363        document.body.appendChild(el); 
     364        el.id = 'bar'; 
     365        var geometry = { 
     366            CLASS_NAME: "OpenLayers.Geometry.Collection", 
     367            components: [{ 
     368                id: 'bar' 
     369            }] 
     370        }; 
     371         
     372        OpenLayers.Renderer.Elements.prototype.eraseGeometry(geometry); 
     373        t.ok(el.parentNode != document.body, "geometry components correctly removed when passed a collection"); 
    361374    }     
    362375 
    363376  </script> 
  • lib/OpenLayers/Renderer/Elements.js

    old new  
    332332    eraseGeometry: function(geometry) { 
    333333        if ((geometry.CLASS_NAME == "OpenLayers.Geometry.MultiPoint") || 
    334334            (geometry.CLASS_NAME == "OpenLayers.Geometry.MultiLineString") || 
    335             (geometry.CLASS_NAME == "OpenLayers.Geometry.MultiPolygon")) { 
     335            (geometry.CLASS_NAME == "OpenLayers.Geometry.MultiPolygon") || 
     336            (geometry.CLASS_NAME == "OpenLayers.Geometry.Collection")) { 
    336337            for (var i = 0; i < geometry.components.length; i++) { 
    337338                this.eraseGeometry(geometry.components[i]); 
    338339            }