Leaflet/spec/suites/layer/vector/CircleSpec.js
Per Liedman a9742e0d4b Round circle radius in renderer instead of layer
Makes bounds calculation more precise and zoom level independant.
Fixes #4582.
2017-10-20 14:51:48 +02:00

53 lines
1.3 KiB
JavaScript

describe('Circle', function () {
describe('#init', function () {
it('uses default radius if not given', function () {
var circle = L.circle([0, 0]);
expect(circle.getRadius()).to.eql(10);
});
it('throws error if radius is NaN', function () {
expect(function () {
L.circle([0, 0], NaN);
}).to.throwException('Circle radius cannot be NaN');
});
});
describe('#getBounds', function () {
var map, circle;
beforeEach(function () {
map = L.map(document.createElement('div')).setView([0, 0], 4);
circle = L.circle([50, 30], {radius: 200}).addTo(map);
});
it('returns bounds', function () {
var bounds = circle.getBounds();
expect(bounds.getSouthWest()).nearLatLng(new L.LatLng(49.99820, 29.99720));
expect(bounds.getNorthEast()).nearLatLng(new L.LatLng(50.00179, 30.00279));
});
});
describe('Legacy factory', function () {
var map, circle;
beforeEach(function () {
map = L.map(document.createElement('div')).setView([0, 0], 4);
circle = L.circle([50, 30], 200).addTo(map);
});
it('returns same bounds as 1.0 factory', function () {
var bounds = circle.getBounds();
expect(bounds.getSouthWest()).nearLatLng(new L.LatLng(49.99820, 29.99720));
expect(bounds.getNorthEast()).nearLatLng(new L.LatLng(50.00179, 30.00279));
});
});
});