From 3ae69b0789c10cf1afcd73a6f121d85d1e3f416d Mon Sep 17 00:00:00 2001 From: euzuro Date: Tue, 20 Nov 2007 06:21:07 +0000 Subject: [PATCH] improve map's getLayer() function, includes improved test. cheers to pensyakito for bringing this up and to cr5 for the review (Closes #861) git-svn-id: http://svn.openlayers.org/trunk/openlayers@5221 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Map.js | 1 + tests/test_Map.html | 26 ++++++++++++++------------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/lib/OpenLayers/Map.js b/lib/OpenLayers/Map.js index 34f124d51e..add6df8543 100644 --- a/lib/OpenLayers/Map.js +++ b/lib/OpenLayers/Map.js @@ -475,6 +475,7 @@ OpenLayers.Map = OpenLayers.Class({ var layer = this.layers[i]; if (layer.id == id) { foundLayer = layer; + break; } } return foundLayer; diff --git a/tests/test_Map.html b/tests/test_Map.html index d14375da72..7611790f9b 100644 --- a/tests/test_Map.html +++ b/tests/test_Map.html @@ -242,21 +242,23 @@ } function test_10_Map_getLayer(t) { - t.plan( 2 ); + var numLayers = 3; + t.plan( numLayers + 1 ); - map = new OpenLayers.Map('map'); - layer = new OpenLayers.Layer.WMS('Test Layer', - "http://octo.metacarta.com/cgi-bin/mapserv", - {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'}, - {maxExtent: new OpenLayers.Bounds(33861, 717605, 330846, 1019656), maxResolution: 296985/1024, projection:"EPSG:2805" } ); + var m = { + layers: [] + }; + + for(var i = 0; i < numLayers; i++) { + m.layers.push( { 'id': i } ); + } - map.addLayer(layer); - var gotLayer = map.getLayer(layer.id); - - t.ok( layer == gotLayer, "getLayer correctly returns layer" ); - - gotLayer = map.getLayer("chicken"); + for(var i = 0; i < numLayers; i++) { + var layer = OpenLayers.Map.prototype.getLayer.apply(m, [i]); + t.ok( layer == m.layers[i], "getLayer correctly returns layer " + i); + } + var gotLayer = OpenLayers.Map.prototype.getLayer.apply(m, ["chicken"]); t.ok( gotLayer == null, "getLayer correctly returns null when layer not found"); }