# Code coverage report for ./suites/layer/vector/PolylineGeometrySpec.js

## Statements: 100% (22 / 22) Branches: 100% (0 / 0) Functions: 100% (4 / 4) Lines: 100% (22 / 22)

All files » ./suites/layer/vector/ » PolylineGeometrySpec.js

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    361

    1
    1
    1
    1
    1

    1
    1
    1
    1
    1

    4

    1

    1

    1

    1
    1
    1
    1
    1

    1

    1

     describe('PolylineGeometry', function() {

    	var c = document.createElement('div');
    	c.style.width = '400px';
    	c.style.height = '400px';
    	var map = new L.Map(c);
    	map.setView(new L.LatLng(55.8, 37.6), 6);

    	describe("#distanceTo", function() {
    		it("calculates distances to points", function() {
    			var p1 = map.latLngToLayerPoint(new L.LatLng(55.8, 37.6));
    			var p2 = map.latLngToLayerPoint(new L.LatLng(57.123076977278, 44.861962891635));
    			var latlngs = [[56.485503424111, 35.545556640339], [55.972522915346, 36.116845702918], [55.502459116923, 34.930322265253], [55.31534617509, 38.973291015816]]
    			.map(function(ll) {
    				return new L.LatLng(ll[0], ll[1]);
    			});
    			var polyline = new L.Polyline([], {
    				'noClip': true
    			});
    			map.addLayer(polyline);

    			expect(polyline.closestLayerPoint(p1)).to.be(null);

    			polyline.setLatLngs(latlngs);
    			var point = polyline.closestLayerPoint(p1);
    			expect(point).not.to.be(null);
    			expect(point.distance).to.not.be(Infinity);
    			expect(point.distance).to.not.be(NaN);

    			var point2 = polyline.closestLayerPoint(p2);

    			expect(point.distance).to.be.lessThan(point2.distance);
    		});
    	});
    });