60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
describe('Popup', function() {
|
|
|
|
var map;
|
|
|
|
beforeEach(function () {
|
|
var c = document.createElement('div');
|
|
c.style.width = '400px';
|
|
c.style.height = '400px';
|
|
map = new L.Map(c);
|
|
map.setView(new L.LatLng(55.8, 37.6), 6);
|
|
});
|
|
|
|
it("should trigger popupopen on marker when popup opens", function() {
|
|
var marker1 = new L.Marker(new L.LatLng(55.8, 37.6));
|
|
var marker2 = new L.Marker(new L.LatLng(57.123076977278, 44.861962891635));
|
|
|
|
map.addLayer(marker1);
|
|
map.addLayer(marker2);
|
|
|
|
marker1.bindPopup('Popup1');
|
|
marker2.bindPopup('Popup2');
|
|
|
|
var spy = sinon.spy();
|
|
|
|
marker1.on('popupopen', spy);
|
|
|
|
expect(spy.called).to.be(false);
|
|
marker2.openPopup();
|
|
expect(spy.called).to.be(false);
|
|
marker1.openPopup();
|
|
expect(spy.called).to.be(true);
|
|
});
|
|
|
|
it("should trigger popupclose on marker when popup closes", function() {
|
|
var marker1 = new L.Marker(new L.LatLng(55.8, 37.6));
|
|
var marker2 = new L.Marker(new L.LatLng(57.123076977278, 44.861962891635));
|
|
|
|
map.addLayer(marker1);
|
|
map.addLayer(marker2);
|
|
|
|
marker1.bindPopup('Popup1');
|
|
marker2.bindPopup('Popup2');
|
|
|
|
var spy = sinon.spy();
|
|
|
|
marker1.on('popupclose', spy);
|
|
|
|
expect(spy.called).to.be(false);
|
|
marker2.openPopup();
|
|
expect(spy.called).to.be(false);
|
|
marker1.openPopup();
|
|
expect(spy.called).to.be(false);
|
|
marker2.openPopup();
|
|
expect(spy.called).to.be(true);
|
|
marker1.openPopup();
|
|
marker1.closePopup();
|
|
expect(spy.callCount).to.be(2);
|
|
});
|
|
});
|