OpenLayers OpenLayers

Ticket #861: getLayer.patch

File getLayer.patch, 1.9 kB (added by euzuro, 1 year ago)

update of last patch with a slight re-make of Map's getLayer test... more lightweight and thorough testing

  • tests/test_Map.html

    old new  
    215215    } 
    216216 
    217217    function test_10_Map_getLayer(t) { 
    218         t.plan( 2 );     
     218        var numLayers = 3; 
     219        t.plan( numLayers + 1 );     
    219220 
    220         map = new OpenLayers.Map('map'); 
    221         layer = new OpenLayers.Layer.WMS('Test Layer',  
    222                     "http://octo.metacarta.com/cgi-bin/mapserv",  
    223                     {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'},  
    224                     {maxExtent: new OpenLayers.Bounds(33861, 717605, 330846, 1019656), maxResolution: 296985/1024, projection:"EPSG:2805" } ); 
     221        var m = { 
     222            layers: [] 
     223        }; 
     224         
     225        for(var i = 0; i < numLayers; i++) { 
     226            m.layers.push( { 'id': i } ); 
     227        } 
    225228 
    226         map.addLayer(layer); 
    227         var gotLayer = map.getLayer(layer.id); 
     229        for(var i = 0; i < numLayers; i++) { 
     230            var layer = OpenLayers.Map.prototype.getLayer.apply(m, [i]); 
     231            t.ok( layer == m.layers[i], "getLayer correctly returns layer " + i); 
     232        } 
    228233 
    229         t.ok( layer == gotLayer, "getLayer correctly returns layer" ); 
    230  
    231         gotLayer = map.getLayer("chicken"); 
    232  
     234        var gotLayer = OpenLayers.Map.prototype.getLayer.apply(m, ["chicken"]); 
    233235        t.ok( gotLayer == null, "getLayer correctly returns null when layer not found"); 
    234236    } 
    235237 
  • lib/OpenLayers/Map.js

    old new  
    475475            var layer = this.layers[i]; 
    476476            if (layer.id == id) { 
    477477                foundLayer = layer; 
     478                break; 
    478479            } 
    479480        } 
    480481        return foundLayer;