Skip to content

Commit

Permalink
Add layerGroup#getLayers and tests. Fixes #1460
Browse files Browse the repository at this point in the history
  • Loading branch information
tmcw committed Feb 27, 2013
1 parent b7701d1 commit 71d1718
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 0 deletions.
1 change: 1 addition & 0 deletions spec/runner.html
Expand Up @@ -47,6 +47,7 @@

<!-- /layer -->
<script type="text/javascript" src="suites/layer/FeatureGroupSpec.js"></script>
<script type="text/javascript" src="suites/layer/LayerGroupSpec.js"></script>
<script type="text/javascript" src="suites/layer/TileLayerSpec.js"></script>

<!-- /layer/vector/ -->
Expand Down
58 changes: 58 additions & 0 deletions spec/suites/layer/LayerGroupSpec.js
@@ -0,0 +1,58 @@
describe('LayerGroup', function () {
describe("#addLayer", function () {
it('adds a layer', function() {
var lg = L.layerGroup(),
marker = L.marker([0, 0]);

expect(lg.addLayer(marker)).toEqual(lg);

expect(lg.hasLayer(marker)).toBe(true);
});
});
describe("#removeLayer", function () {
it('removes a layer', function() {
var lg = L.layerGroup(),
marker = L.marker([0, 0]);

lg.addLayer(marker);
expect(lg.removeLayer(marker)).toEqual(lg);

expect(lg.hasLayer(marker)).toBe(false);
});
});
describe("#clearLayers", function () {
it('removes all layers', function() {
var lg = L.layerGroup(),
marker = L.marker([0, 0]);

lg.addLayer(marker);
expect(lg.clearLayers()).toEqual(lg);

expect(lg.hasLayer(marker)).toBe(false);
});
});
describe("#getLayers", function () {
it('gets all layers', function() {
var lg = L.layerGroup(),
marker = L.marker([0, 0]);

lg.addLayer(marker);

expect(lg.getLayers()).toEqual([marker]);
});
});
describe("#eachLayer", function () {
it('iterates over all layers', function() {
var lg = L.layerGroup(),
marker = L.marker([0, 0]),
ctx = { foo: 'bar' };

lg.addLayer(marker);

lg.eachLayer(function(layer) {
expect(layer).toEqual(marker);
expect(this).toEqual(ctx);
}, ctx);
});
});
});
10 changes: 10 additions & 0 deletions src/layer/LayerGroup.js
Expand Up @@ -93,6 +93,16 @@ L.LayerGroup = L.Class.extend({
return this;
},

getLayers: function () {
var layers = [];
for (var i in this._layers) {
if (this._layers.hasOwnProperty(i)) {
layers.push(this._layers[i]);
}
}
return layers;
},

setZIndex: function (zIndex) {
return this.invoke('setZIndex', zIndex);
}
Expand Down

0 comments on commit 71d1718

Please sign in to comment.