leaflet.smooth_marker_bouncing
Version:
Smooth animation of marker bouncing for Leaflet.
77 lines (55 loc) • 2.12 kB
JavaScript
import test from 'ava';
import L from 'leaflet';
import randLatLng from './helpers/random-pos';
import SmoothMarkerBouncing from '../src/SmoothMarkerBouncing';
SmoothMarkerBouncing(L);
test('Test start/stop bouncing of individual markers', t => {
// Given
const div = document.createElement('div');
const map = L.map(div).setView([48.847547, 2.351074], 14);
const marker1 = L.marker(randLatLng()).addTo(map);
const marker2 = L.marker(randLatLng()).addTo(map);
const marker3 = L.marker(randLatLng()).addTo(map);
// When
let bouncingMarkers = L.Marker.prototype._orchestration.getBouncingMarkers();
// Then
t.deepEqual(bouncingMarkers, []);
// When
marker2.bounce();
bouncingMarkers = L.Marker.prototype._orchestration.getBouncingMarkers();
// Then
t.deepEqual(bouncingMarkers, [ marker2 ]);
// When
marker2.stopBouncing();
bouncingMarkers = L.Marker.prototype._orchestration.getBouncingMarkers();
// Then
t.deepEqual(bouncingMarkers, []);
});
test('Test start/stop bouncing of exclusive marker', t => {
// Given
const div = document.createElement('div');
const map = L.map(div).setView([48.847547, 2.351074], 14);
const marker1 = L.marker(randLatLng()).addTo(map);
const marker2 = L.marker(randLatLng()).addTo(map);
const marker3 = L.marker(randLatLng()).setBouncingOptions({ exclusive: true }).addTo(map);
// When
let bouncingMarkers = L.Marker.prototype._orchestration.getBouncingMarkers();
// Then
t.deepEqual(bouncingMarkers, []);
// When
marker1.bounce();
marker2.bounce();
bouncingMarkers = L.Marker.prototype._orchestration.getBouncingMarkers();
// Then
t.deepEqual(bouncingMarkers, [ marker1, marker2 ]);
// When
marker3.bounce();
bouncingMarkers = L.Marker.prototype._orchestration.getBouncingMarkers();
// Then
t.deepEqual(bouncingMarkers, [ marker3 ]);
// When
marker2.bounce();
bouncingMarkers = L.Marker.prototype._orchestration.getBouncingMarkers();
// Then
t.deepEqual(bouncingMarkers, [ marker2 ]);
});