X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/bf797f438037c800673df8314449e118c31e0d73..3c7b7cef70bbe705498a7f322374ff33e2a19142:/test/javascripts/osm_test.js diff --git a/test/javascripts/osm_test.js b/test/javascripts/osm_test.js index 5e982fc4d..ad4cc7b9f 100644 --- a/test/javascripts/osm_test.js +++ b/test/javascripts/osm_test.js @@ -1,10 +1,11 @@ //= require jquery -//= require jquery.cookie +//= require jquery.cookie/jquery.cookie //= require osm -//= require leaflet -//= require querystring - -var querystring = require('querystring-component'); +//= require leaflet/dist/leaflet-src +//= require leaflet.osm +//= require leaflet.map +//= require i18n/translations +//= require qs/dist/qs describe("OSM", function () { describe(".apiUrl", function () { @@ -70,18 +71,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 +218,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); + }); + }); });