/
opt
/
canhelp
/
node_modules
/
leaflet.markercluster
/
spec
/
suites
/
/opt/canhelp/node_modules/leaflet.markercluster/spec/suites
mkdir
upload
Name
Size
Mode
Actions
AddLayer.MultipleSpec.js
4738
0755
edit
dl
rm
AddLayer.SingleSpec.js
2928
0755
edit
dl
rm
AddLayersSpec.js
4534
0755
edit
dl
rm
animateOptionSpec.js
3843
0755
edit
dl
rm
ChildChangingIconSupportSpec.js
1462
0755
edit
dl
rm
CircleMarkerSupportSpec.js
3925
0755
edit
dl
rm
CircleSupportSpec.js
3792
0755
edit
dl
rm
clearLayersSpec.js
1411
0755
edit
dl
rm
disableClusteringAtZoomSpec.js
1439
0755
edit
dl
rm
DistanceGridSpec.js
1031
0755
edit
dl
rm
eachLayerSpec.js
1557
0755
edit
dl
rm
eventsSpec.js
9747
0755
edit
dl
rm
getBoundsSpec.js
3986
0755
edit
dl
rm
getLayersSpec.js
1920
0755
edit
dl
rm
getVisibleParentSpec.js
1698
0755
edit
dl
rm
LeafletSpec.js
159
0755
edit
dl
rm
markerMoveSupportSpec.js
1657
0755
edit
dl
rm
nonIntegerZoomSpec.js
1234
0755
edit
dl
rm
NonPointSpec.js
6331
0755
edit
dl
rm
onAddSpec.js
1339
0755
edit
dl
rm
onRemoveSpec.js
1117
0755
edit
dl
rm
PaneSpec.js
1570
0755
edit
dl
rm
QuickHullSpec.js
1422
0755
edit
dl
rm
RefreshSpec.js
12929
0755
edit
dl
rm
RememberOpacity.js
4170
0755
edit
dl
rm
RemoveLayerSpec.js
4975
0755
edit
dl
rm
removeLayersSpec.js
4534
0755
edit
dl
rm
removeOutsideVisibleBoundsSpec.js
7234
0755
edit
dl
rm
singleMarkerModeSpec.js
1705
0755
edit
dl
rm
SpecHelper.js
641
0755
edit
dl
rm
spiderfySpec.js
8851
0755
edit
dl
rm
supportNegativeZoomSpec.js
2374
0755
edit
dl
rm
unspiderfySpec.js
2806
0755
edit
dl
rm
zoomAnimationSpec.js
12623
0755
edit
dl
rm
Edit:
/opt/canhelp/node_modules/leaflet.markercluster/spec/suites/spiderfySpec.js
(8851B)
describe('spiderfy', function () { ///////////////////////////// // SETUP FOR EACH TEST ///////////////////////////// var div, map, group, 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, trackResize: false }); // Corresponds to zoom level 8 for the above div dimensions. map.fitBounds(new L.LatLngBounds([ [1, 1], [2, 2] ])); }); afterEach(function () { if (group instanceof L.MarkerClusterGroup) { group.removeLayers(group.getLayers()); map.removeLayer(group); } map.remove(); div.remove(); clock.restore(); div = map = group = clock = null; }); ///////////////////////////// // TESTS ///////////////////////////// it('Spiderfies 2 Markers', function () { group = new L.MarkerClusterGroup(); var marker = new L.Marker([1.5, 1.5]); var marker2 = new L.Marker([1.5, 1.5]); group.addLayer(marker); group.addLayer(marker2); map.addLayer(group); marker.__parent.spiderfy(); expect(marker._icon.parentNode).to.be(map._panes.markerPane); expect(marker2._icon.parentNode).to.be(map._panes.markerPane); }); it('Spiderfies 2 CircleMarkers', function () { group = new L.MarkerClusterGroup(); var marker = new L.CircleMarker([1.5, 1.5]); var marker2 = new L.CircleMarker([1.5, 1.5]); group.addLayer(marker); group.addLayer(marker2); map.addLayer(group); marker.__parent.spiderfy(); // Leaflet 1.0.0 now uses an intermediate L.Renderer. // marker > _path > _rootGroup (g) > _container (svg) > pane (div) expect(marker._path.parentNode.parentNode.parentNode).to.be(map.getPane('overlayPane')); expect(marker2._path.parentNode.parentNode.parentNode).to.be(map.getPane('overlayPane')); }); it('Spiderfies 2 Circles', function () { group = new L.MarkerClusterGroup(); var marker = new L.Circle([1.5, 1.5], 10); var marker2 = new L.Circle([1.5, 1.5], 10); group.addLayer(marker); group.addLayer(marker2); map.addLayer(group); marker.__parent.spiderfy(); expect(marker._path.parentNode.parentNode.parentNode).to.be(map.getPane('overlayPane')); expect(marker2._path.parentNode.parentNode.parentNode).to.be(map.getPane('overlayPane')); }); it('Spiderfies at current zoom if all child markers are at the exact same position', function () { group = new L.MarkerClusterGroup(); var marker = new L.Marker([1.5, 1.5]); var marker2 = new L.Marker([1.5, 1.5]); group.addLayers([marker, marker2]); map.addLayer(group); // Get the appropriate cluster. var cluster = marker.__parent, zoom = map.getZoom(); while (cluster._zoom !== zoom) { cluster = cluster.__parent; } expect(zoom).to.be.lessThan(10); cluster.fireEvent('click', null, true); clock.tick(1000); expect(map.getZoom()).to.equal(zoom); expect(marker._icon.parentNode).to.be(map._panes.markerPane); expect(marker2._icon.parentNode).to.be(map._panes.markerPane); }); it('Spiderfies at current zoom if all child markers are still within a single cluster at map maxZoom', function () { group = new L.MarkerClusterGroup(); var marker = new L.Marker([1.5, 1.50001]); var marker2 = new L.Marker([1.5, 1.5]); group.addLayers([marker, marker2]); map.addLayer(group); expect(marker.__parent._zoom).to.equal(18); // Get the appropriate cluster. var cluster = marker.__parent, zoom = map.getZoom(); while (cluster._zoom !== zoom) { cluster = cluster.__parent; } expect(zoom).to.be.lessThan(10); cluster.fireEvent('click', null, true); clock.tick(1000); expect(map.getZoom()).to.equal(zoom); expect(marker._icon.parentNode).to.be(map._panes.markerPane); expect(marker2._icon.parentNode).to.be(map._panes.markerPane); }); it('removes all markers and spider legs when group is removed from map', function () { group = new L.MarkerClusterGroup(); var marker = new L.Marker([1.5, 1.5]); var marker2 = new L.Marker([1.5, 1.5]); group.addLayers([marker, marker2]); map.addLayer(group); marker.__parent.spiderfy(); expect(map._panes.markerPane.childNodes.length).to.be(3); // The 2 markers + semi-transparent cluster. expect(map.getPane('overlayPane').firstChild.firstChild.childNodes.length).to.be(2); // The 2 spider legs. }); it('adds then removes class "leaflet-cluster-anim" from mapPane on spiderfy', function () { group = new L.MarkerClusterGroup(); var marker = new L.Marker([1.5, 1.5]); var marker2 = new L.Marker([1.5, 1.5]); group.addLayers([marker, marker2]); map.addLayer(group); marker.__parent.spiderfy(); expect(map._panes.mapPane.className).to.contain('leaflet-cluster-anim'); clock.tick(1000); expect(map._panes.mapPane.className).to.not.contain('leaflet-cluster-anim'); }); it('adds then removes class "leaflet-cluster-anim" from mapPane on unspiderfy', function () { group = new L.MarkerClusterGroup(); var marker = new L.Marker([1.5, 1.5]); var marker2 = new L.Marker([1.5, 1.5]); group.addLayers([marker, marker2]); map.addLayer(group); marker.__parent.spiderfy(); clock.tick(1000); marker.__parent.unspiderfy(); expect(map._panes.mapPane.className).to.contain('leaflet-cluster-anim'); clock.tick(1000); expect(map._panes.mapPane.className).to.not.contain('leaflet-cluster-anim'); }); it('fires unspiderfied event on unspiderfy', function (done) { group = new L.MarkerClusterGroup(); var marker = new L.Marker([1.5, 1.5]); var marker2 = new L.Marker([1.5, 1.5]); group.addLayers([marker, marker2]); map.addLayer(group); marker.__parent.spiderfy(); clock.tick(1000); // Add event listener group.on('unspiderfied', function (event) { expect(event.target).to.be(group); expect(event.cluster).to.be.a(L.Marker); expect(event.markers[1]).to.be(marker); expect(event.markers[0]).to.be(marker2); done(); }); marker.__parent.unspiderfy(); clock.tick(1000); }); it('does not leave class "leaflet-cluster-anim" on mapPane when group is removed while spiderfied', function () { group = new L.MarkerClusterGroup(); var marker = new L.Marker([1.5, 1.5]); var marker2 = new L.Marker([1.5, 1.5]); group.addLayers([marker, marker2]); map.addLayer(group); marker.__parent.spiderfy(); clock.tick(1000); map.removeLayer(group); expect(map._panes.mapPane.className).to.not.contain('leaflet-cluster-anim'); }); it('overrides spiderfy shape positions when custom function has been provided', function () { var marker = new L.Marker([1.5, 1.5]); var marker2 = new L.Marker([1.5, 1.5]); var spiderfyShapePositionsFuntion = sinon.spy(function (){ return [{x: 1.6, y: 1.6}, {x: 1.6, y: 1.6} ]; } ); group = new L.MarkerClusterGroup({spiderfyShapePositions: spiderfyShapePositionsFuntion}); group.addLayer(marker); group.addLayer(marker2) map.addLayer(group); marker.__parent.spiderfy(); sinon.assert.calledOnce(spiderfyShapePositionsFuntion); }); describe('zoomend event listener', function () { it('unspiderfies correctly', function () { group = new L.MarkerClusterGroup(); var marker = new L.Circle([1.5, 1.5], 10); var marker2 = new L.Circle([1.5, 1.5], 10); group.addLayer(marker); group.addLayer(marker2); map.addLayer(group); marker.__parent.spiderfy(); expect(group._spiderfied).to.not.be(null); map.fire('zoomend'); //We should unspiderfy with no animation, so this should be null expect(group._spiderfied).to.be(null); }); }); describe('spiderfied event listener', function () { it('Spiderfies 2 Markers', function (done) { group = new L.MarkerClusterGroup(); var marker = new L.Marker([1.5, 1.5]); var marker2 = new L.Marker([1.5, 1.5]); group.addLayer(marker); group.addLayer(marker2); map.addLayer(group); // Add event listener group.on('spiderfied', function (event) { expect(event.target).to.be(group); expect(event.cluster).to.be.a(L.Marker); expect(event.markers[1]).to.be(marker); expect(event.markers[0]).to.be(marker2); done(); }); marker.__parent.spiderfy(); clock.tick(200); }); it('Spiderfies 2 Circles', function (done) { group = new L.MarkerClusterGroup(); var marker = new L.Circle([1.5, 1.5], 10); var marker2 = new L.Circle([1.5, 1.5], 10); group.addLayer(marker); group.addLayer(marker2); map.addLayer(group); // Add event listener group.on('spiderfied', function (event) { expect(event.target).to.be(group); expect(event.cluster).to.be.a(L.Marker); expect(event.markers[1]).to.be(marker); expect(event.markers[0]).to.be(marker2); done(); }); marker.__parent.spiderfy(); clock.tick(200); }); }); });
Save
cmd:
run