X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/bf797f438037c800673df8314449e118c31e0d73..e434cb154c5ccecd7fc0ce672e4de79bd9e7e06f:/test/javascripts/osm_test.js diff --git a/test/javascripts/osm_test.js b/test/javascripts/osm_test.js index 5e982fc4d..51f74fe7a 100644 --- a/test/javascripts/osm_test.js +++ b/test/javascripts/osm_test.js @@ -2,6 +2,9 @@ //= require jquery.cookie //= require osm //= require leaflet +//= require leaflet.osm +//= require leaflet.map +//= require i18n/translations //= require querystring var querystring = require('querystring-component'); @@ -70,18 +73,8 @@ describe("OSM", function () { expect(params).to.have.property("bounds").deep.equal(expected); }); - it("parses lat/lon/zoom params", function () { - var params = OSM.mapParams("?lat=57.6247&lon=-3.6845"); - expect(params).to.have.property("lat", 57.6247); - expect(params).to.have.property("lon", -3.6845); - expect(params).to.have.property("zoom", 5); - - params = OSM.mapParams("?lat=57.6247&lon=-3.6845&zoom=10"); - expect(params).to.have.property("lat", 57.6247); - expect(params).to.have.property("lon", -3.6845); - expect(params).to.have.property("zoom", 10); - - params = OSM.mapParams("?mlat=57.6247&mlon=-3.6845"); + it("parses mlat/mlon/zoom params", function () { + var params = OSM.mapParams("?mlat=57.6247&mlon=-3.6845"); expect(params).to.have.property("lat", 57.6247); expect(params).to.have.property("lon", -3.6845); expect(params).to.have.property("zoom", 12); @@ -227,4 +220,33 @@ describe("OSM", function () { expect(OSM.zoomPrecision(20)).to.eq(5); }); }); + + describe(".locationCookie", function () { + it("creates a location cookie value", function () { + $("body").html($("
")); + var map = new L.OSM.Map("map", { center: [57.6247, -3.6845], zoom: 9 }); + map.updateLayers(""); + expect(OSM.locationCookie(map)).to.eq("-3.6845|57.6247|9|M"); + }); + + it("respects zoomPrecision", function () { + $("body").html($("
")); + var map = new L.OSM.Map("map", { center: [57.6247, -3.6845], zoom: 9 }); + map.updateLayers(""); + expect(OSM.locationCookie(map)).to.eq("-3.6845|57.6247|9|M"); + + map.setZoom(5); + expect(OSM.locationCookie(map)).to.eq("-3.685|57.625|5|M"); + }); + }); + + describe(".distance", function () { + it("computes distance between points", function () { + var latlng1 = L.latLng(51.76712,-0.00484), + latlng2 = L.latLng(51.7675159, -0.0078329); + + expect(OSM.distance(latlng1, latlng2)).to.be.closeTo(210.664, 0.005); + expect(OSM.distance(latlng2, latlng1)).to.be.closeTo(210.664, 0.005); + }); + }); });