From c0ffbc75a912bc7f0f71096fc351e8394b5aa537 Mon Sep 17 00:00:00 2001 From: danzel Date: Mon, 7 Apr 2014 10:56:18 +1200 Subject: [PATCH] Add some removeLayers tests, everything seems to be working. --- spec/index.html | 3 +- spec/suites/removeLayersSpec.js | 68 +++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 spec/suites/removeLayersSpec.js diff --git a/spec/index.html b/spec/index.html index 42ad45b74..a68feeefe 100644 --- a/spec/index.html +++ b/spec/index.html @@ -1,4 +1,4 @@ - + @@ -52,6 +52,7 @@ + diff --git a/spec/suites/removeLayersSpec.js b/spec/suites/removeLayersSpec.js new file mode 100644 index 000000000..0ff840a60 --- /dev/null +++ b/spec/suites/removeLayersSpec.js @@ -0,0 +1,68 @@ +describe('removeLayers', function () { + var map, div, clock; + beforeEach(function () { + clock = sinon.useFakeTimers(); + div = document.createElement('div'); + div.style.width = '200px'; + div.style.height = '200px'; + document.body.appendChild(div); + + map = L.map(div, { maxZoom: 18 }); + + map.fitBounds(new L.LatLngBounds([ + [1, 1], + [2, 2] + ])); + }); + afterEach(function () { + clock.restore(); + document.body.removeChild(div); + }); + + it('removes all the layer given to it', function () { + + var group = new L.MarkerClusterGroup(); + var markers = [ + new L.Marker([1.5, 1.5]), + new L.Marker([1.5, 1.5]), + new L.Marker([1.5, 1.5]) + ]; + + map.addLayer(group); + + group.addLayers(markers); + + group.removeLayers(markers); + + expect(group.hasLayer(markers[0])).to.be(false); + expect(group.hasLayer(markers[1])).to.be(false); + expect(group.hasLayer(markers[2])).to.be(false); + + expect(group.getLayers().length).to.be(0); + }); + + + it('doesnt break if we are spiderfied', function () { + + var group = new L.MarkerClusterGroup(); + var markers = [ + new L.Marker([1.5, 1.5]), + new L.Marker([1.5, 1.5]), + new L.Marker([1.5, 1.5]) + ]; + + map.addLayer(group); + + group.addLayers(markers); + + markers[0].__parent.spiderfy(); + + group.removeLayers(markers); + + expect(group.hasLayer(markers[0])).to.be(false); + expect(group.hasLayer(markers[1])).to.be(false); + expect(group.hasLayer(markers[2])).to.be(false); + + expect(group.getLayers().length).to.be(0); + }); +}); \ No newline at end of file