@jmarcelof/leaflet-ng2
Version:
Angular2 module for Leaflet
930 lines • 42.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");
var leaflet_1 = require("leaflet");
var index_1 = require("./index");
var spec_1 = require("./spec");
function hasAsChild(root, child) {
"use strict";
var length = root.children.length;
for (var i = 0; i < length; i += 1) {
/* istanbul ignore else */
if (root.children.item(i) === child) {
return true;
}
}
return false;
}
describe("WMS-Layer Directive", function () {
var map;
var layer;
beforeEach(function () {
map = new index_1.MapComponent({ nativeElement: document.createElement("div") }, new index_1.LayerGroupProvider(), new index_1.MapProvider());
map._size = leaflet_1.point(100, 100);
map._pixelOrigin = leaflet_1.point(50, 50);
layer = new index_1.WmsLayerDirective({ ref: map }, {});
});
describe("[(display)]", function () {
it("should remove DOM container when not displaying", function () {
layer.display = false;
chai_1.expect(hasAsChild(layer.getPane(), layer._container)).to.equal(false);
});
it("should re-add DOM container when display is true again", function () {
layer.display = false;
layer.display = true;
chai_1.expect(hasAsChild(layer.getPane(), layer._container)).to.equal(true);
});
it("should remove EventListeners when not displaying", function (done) {
var moveEvents = map._events.move;
var length = moveEvents.length;
/* tslint:disable:no-string-literal */
var originalEventListener = layer.getEvents()["move"];
/* tslint:enable */
layer.display = false;
for (var i = 0; i < length; i += 1) {
/* istanbul ignore if */
if (moveEvents[i] && moveEvents[i].fn === originalEventListener) {
return done(new Error("There is still an event on listener"));
}
}
done();
});
it("should re-add EventListeners when display is true again", function (done) {
var moveEvents = map._events.move;
var length = moveEvents.length;
/* tslint:disable:no-string-literal */
var originalEventListener = layer.getEvents()["move"];
/* tslint:enable */
layer.display = false;
layer.display = true;
for (var i = 0; i < length; i += 1) {
if (moveEvents[i] && moveEvents[i].fn === originalEventListener) {
return done();
}
}
/* istanbul ignore next */
return done(new Error("There is no event on listener"));
});
it("should set to false by removing from map", function (done) {
layer.displayChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(false);
chai_1.expect(layer.display).to.equal(false);
done();
});
map.removeLayer(layer);
});
it("should set to true when adding to map again", function (done) {
map.removeLayer(layer);
layer.displayChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(true);
chai_1.expect(layer.display).to.equal(true);
done();
});
map.addLayer(layer);
});
});
describe("[(url)]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
layer.url = index_1.EXAMPLE_WMS_LAYER_URL;
chai_1.expect(layer._url).to.equal(index_1.EXAMPLE_WMS_LAYER_URL);
});
it("should be changed in Angular when changing in Angular", function () {
layer.url = index_1.EXAMPLE_WMS_LAYER_URL;
chai_1.expect(layer.url).to.equal(index_1.EXAMPLE_WMS_LAYER_URL);
});
it("should be changed in Angular when changing in Leaflet", function () {
layer.setUrl(index_1.EXAMPLE_WMS_LAYER_URL);
chai_1.expect(layer.url).to.equal(index_1.EXAMPLE_WMS_LAYER_URL);
});
it("should fire an event when changing in Angular", function (done) {
layer.urlChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(index_1.EXAMPLE_WMS_LAYER_URL);
return done();
});
layer.url = index_1.EXAMPLE_WMS_LAYER_URL;
});
it("should fire an event when changing in Leaflet", function (done) {
layer.url = index_1.EXAMPLE_WMS_LAYER_URL;
layer.urlChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(index_1.EXAMPLE_WMS_LAYER_URL + "?test");
return done();
});
layer.setUrl(index_1.EXAMPLE_WMS_LAYER_URL + "?test");
});
it("should not emit anything when changing into same url", function (done) {
layer.setUrl(index_1.EXAMPLE_WMS_LAYER_URL);
setTimeout(function () {
/* istanbul ignore next */
layer.urlChange.subscribe(function () {
return done(new Error("Event fired"));
});
layer.setUrl(index_1.EXAMPLE_WMS_LAYER_URL);
return done();
}, 0);
});
});
describe("[(opacity)]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = spec_1.randomNumber();
layer.opacity = val;
chai_1.expect(layer.options.opacity).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = spec_1.randomNumber();
layer.opacity = val;
chai_1.expect(layer.opacity).to.equal(val);
});
it("should be changed in Angular when changing in Leaflet", function () {
var val = spec_1.randomNumber();
layer.setOpacity(val);
chai_1.expect(layer.opacity).to.equal(val);
});
it("should fire an event when changing in Angular", function (done) {
var val = spec_1.randomNumber();
layer.opacityChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(val);
return done();
});
layer.opacity = val;
});
it("should fire an event when changing in Leaflet", function (done) {
var val = spec_1.randomNumber();
layer.opacityChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(val);
return done();
});
layer.setOpacity(val);
});
});
describe("[(zIndex)]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = spec_1.randomNumber(255, 0, 0);
layer.zIndex = val;
chai_1.expect(layer.options.zIndex).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = spec_1.randomNumber(255, 0, 0);
layer.zIndex = val;
chai_1.expect(layer.zIndex).to.equal(val);
});
it("should be changed in Angular when changing in Leaflet", function () {
var val = spec_1.randomNumber(255, 0, 0);
layer.setZIndex(val);
chai_1.expect(layer.zIndex).to.equal(val);
});
it("should fire an event when changing in Angular", function (done) {
var val = spec_1.randomNumber(255, 0, 0);
layer.zIndexChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(val);
return done();
});
layer.zIndex = val;
});
it("should fire an event when changing in Leaflet", function (done) {
var val = spec_1.randomNumber(255, 0, 0);
layer.zIndexChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(val);
return done();
});
layer.setZIndex(val);
});
});
describe("[(layers)]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
layer.layers = index_1.EXAMPLE_WMS_LAYER_NAMES;
chai_1.expect(layer.wmsParams.layers).to.equal(index_1.EXAMPLE_WMS_LAYER_NAMES.join(","));
});
it("should be changed in Angular when changing in Angular", function () {
layer.layers = index_1.EXAMPLE_WMS_LAYER_NAMES;
chai_1.expect(layer.layers).to.deep.equal(index_1.EXAMPLE_WMS_LAYER_NAMES);
});
it("should be changed in Angular when changing in Leaflet", function () {
layer.setParams({ layers: index_1.EXAMPLE_WMS_LAYER_NAMES.join(",") });
chai_1.expect(layer.layers).to.deep.equal(index_1.EXAMPLE_WMS_LAYER_NAMES);
});
it("should fire an event when changing in Angular", function (done) {
layer.layersChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.deep.equal(index_1.EXAMPLE_WMS_LAYER_NAMES);
return done();
});
layer.layers = index_1.EXAMPLE_WMS_LAYER_NAMES;
});
it("should fire an event when changing in Leaflet", function (done) {
layer.layersChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.deep.equal(index_1.EXAMPLE_WMS_LAYER_NAMES);
return done();
});
layer.setParams({ layers: index_1.EXAMPLE_WMS_LAYER_NAMES.join(",") });
});
});
describe("[(styles)]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
layer.styles = index_1.EXAMPLE_WMS_LAYER_NAMES;
chai_1.expect(layer.wmsParams.styles).to.equal(index_1.EXAMPLE_WMS_LAYER_NAMES.join(","));
});
it("should be changed in Angular when changing in Angular", function () {
layer.styles = index_1.EXAMPLE_WMS_LAYER_NAMES;
chai_1.expect(layer.styles).to.deep.equal(index_1.EXAMPLE_WMS_LAYER_NAMES);
});
it("should be changed in Angular when changing in Leaflet", function () {
var params = Object.create(layer.wmsParams);
params.styles = index_1.EXAMPLE_WMS_LAYER_NAMES.join(",");
layer.setParams(params);
chai_1.expect(layer.styles).to.deep.equal(index_1.EXAMPLE_WMS_LAYER_NAMES);
});
it("should fire an event when changing in Angular", function (done) {
layer.stylesChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.deep.equal(index_1.EXAMPLE_WMS_LAYER_NAMES);
return done();
});
layer.styles = index_1.EXAMPLE_WMS_LAYER_NAMES;
});
it("should fire an event when changing in Leaflet", function (done) {
layer.stylesChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.deep.equal(index_1.EXAMPLE_WMS_LAYER_NAMES);
return done();
});
var params = Object.create(layer.wmsParams);
params.styles = index_1.EXAMPLE_WMS_LAYER_NAMES.join(",");
layer.setParams(params);
});
});
describe("[(transparent)]", function () {
it("should be changed to false in Leaflet when changing in Angular to false", function () {
layer.transparent = false;
chai_1.expect(layer.wmsParams.transparent).to.equal(false);
});
it("should be changed to true in Leaflet when changing in Angular to true", function () {
layer.wmsParams.transparent = false;
layer.transparent = true;
chai_1.expect(layer.wmsParams.transparent).to.equal(true);
});
it("should be changed in Angular to false when changing in Angular to false", function () {
layer.transparent = false;
chai_1.expect(layer.transparent).to.equal(false);
});
it("should be changed in Angular to true when changing in Angular to true", function () {
layer.transparent = true;
chai_1.expect(layer.transparent).to.equal(true);
});
it("should be changed in Angular to false when changing in Leaflet to false", function () {
var params = Object.create(layer.wmsParams);
params.transparent = false;
layer.setParams(params);
chai_1.expect(layer.transparent).to.equal(false);
});
it("should be changed in Angular to true when changing in Leaflet to true", function () {
var params = Object.create(layer.wmsParams);
params.transparent = true;
layer.setParams(params);
chai_1.expect(layer.transparent).to.equal(true);
});
it("should fire an event when changing in Angular", function (done) {
layer.transparentChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(true);
return done();
});
layer.transparent = true;
});
it("should fire an event when changing in Leaflet", function (done) {
layer.layers = index_1.EXAMPLE_WMS_LAYER_NAMES;
layer.transparentChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(true);
return done();
});
var params = Object.create(layer.wmsParams);
params.transparent = true;
layer.setParams(params);
});
});
describe("[(format)]", function () {
var FORMAT = "image/png";
it("should be changed in Leaflet when changing in Angular", function () {
layer.format = FORMAT;
chai_1.expect(layer.wmsParams.format).to.equal(FORMAT);
});
it("should be changed in Angular when changing in Angular", function () {
layer.format = FORMAT;
chai_1.expect(layer.format).to.equal(FORMAT);
});
it("should be changed in Angular when changing in Leaflet", function () {
var params = Object.create(layer.wmsParams);
params.format = FORMAT;
layer.setParams(params);
chai_1.expect(layer.format).to.equal(FORMAT);
});
it("should fire an event when changing in Angular", function (done) {
layer.formatChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(FORMAT);
return done();
});
layer.format = FORMAT;
});
it("should fire an event when changing in Leaflet", function (done) {
layer.formatChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(FORMAT);
return done();
});
var params = Object.create(layer.wmsParams);
params.format = FORMAT;
layer.setParams(params);
});
});
describe("[(version)]", function () {
var VERSION = "1.0.0";
it("should be changed in Leaflet when changing in Angular", function () {
layer.version = VERSION;
chai_1.expect(layer.wmsParams.version).to.equal(VERSION);
});
it("should be changed in Angular when changing in Angular", function () {
layer.version = VERSION;
chai_1.expect(layer.version).to.equal(VERSION);
});
it("should be changed in Angular when changing in Leaflet", function () {
var params = Object.create(layer.wmsParams);
params.version = VERSION;
layer.setParams(params);
chai_1.expect(layer.version).to.equal(VERSION);
});
it("should fire an event when changing in Angular", function (done) {
layer.versionChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(VERSION);
return done();
});
layer.version = VERSION;
});
it("should fire an event when changing in Leaflet", function (done) {
layer.versionChange.subscribe(function (eventVal) {
chai_1.expect(eventVal).to.equal(VERSION);
return done();
});
var params = Object.create(layer.wmsParams);
params.version = VERSION;
layer.setParams(params);
});
});
// Events
describe("(add)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.addEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("add", testEvent);
});
});
describe("(remove)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.removeEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("remove", testEvent);
});
});
describe("(popupopen)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.popupopenEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("popupopen", testEvent);
});
});
describe("(popupclose)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.popupcloseEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("popupclose", testEvent);
});
});
describe("(tooltipopen)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.tooltipopenEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("tooltipopen", testEvent);
});
});
describe("(tooltipclose)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.tooltipcloseEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("tooltipclose", testEvent);
});
});
describe("(click)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.clickEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("click", testEvent);
});
});
describe("(dblclick)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.dblclickEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("dblclick", testEvent);
});
});
describe("(mousedown)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.mousedownEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("mousedown", testEvent);
});
});
describe("(mouseover)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.mouseoverEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("mouseover", testEvent);
});
});
describe("(mouseout)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.mouseoutEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("mouseout", testEvent);
});
});
describe("(contextmenu)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.contextmenuEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("contextmenu", testEvent);
});
});
describe("(loading)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.loadingEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("loading", testEvent);
});
});
describe("(tileunload)", function () {
beforeEach(function () {
layer.off("tileunload", layer._onTileRemove); // Hack to disable another listener
});
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.tileunloadEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("tileunload", testEvent);
});
});
describe("(tileloadstart)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.tileloadstartEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("tileloadstart", testEvent);
});
});
describe("(tileerror)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
layer.tileerrorEvent.subscribe(function (event) {
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
return done();
});
layer.fire("tileerror", testEvent);
});
});
describe("(tileload)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { testHandle: testHandle };
var called; // this event is called multiple times in the life-circle of leaflet
setTimeout(function () {
layer.tileloadEvent.subscribe(function (event) {
/* istanbul ignore if */
if (called) {
return;
}
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
called = true;
return done();
});
layer.fire("tileload", testEvent);
}, 1);
});
});
describe("(load)", function () {
it("should fire event in Angular when firing event in Leaflet", function (done) {
var testHandle = {};
var testEvent = { target: layer, testHandle: testHandle, type: "load" };
var called; // this event is called multiple times in the life-circle of leaflet
setTimeout(function () {
layer.loadEvent.subscribe(function (event) {
/* istanbul ignore if */
if (called) {
return;
}
chai_1.expect(event.testHandle).to.equal(testEvent.testHandle);
called = true;
return done();
});
layer.fire("load", testEvent);
}, 1);
});
});
// Inputs
describe("[tileSize]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var num = spec_1.randomNumber(1000, 1, 0);
var val = leaflet_1.point(num, num);
layer.tileSize = val;
chai_1.expect(layer.options.tileSize).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var num = spec_1.randomNumber(1000, 1, 0);
var val = leaflet_1.point(num, num);
layer.tileSize = val;
chai_1.expect(layer.tileSize).to.equal(val);
});
});
describe("[bounds]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var num = spec_1.randomNumber(1000, 1, 0);
var val = leaflet_1.latLngBounds([num, num], [num, num]);
layer.bounds = val;
chai_1.expect(layer.options.bounds).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var num = spec_1.randomNumber(1000, 1, 0);
var val = leaflet_1.latLngBounds([num, num], [num, num]);
layer.bounds = val;
chai_1.expect(layer.bounds).to.equal(val);
});
});
describe("[subdomains]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = ["a", "b", "c", "d"];
layer.subdomains = val;
chai_1.expect(layer.options.subdomains).to.deep.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = ["a", "b", "c", "d"];
layer.subdomains = val;
chai_1.expect(layer.subdomains).to.deep.equal(val);
});
it("should get an array of strings even if it has a string value", function () {
var val = "abcdefg";
layer.options.subdomains = val;
chai_1.expect(layer.subdomains).to.deep.equal(val.split(""));
});
});
describe("[className]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = "test-class";
layer.className = val;
chai_1.expect(layer.options.className).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = "test-class";
layer.className = val;
chai_1.expect(layer.className).to.equal(val);
});
});
describe("[errorTileUrl]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = "http://test";
layer.errorTileUrl = val;
chai_1.expect(layer.options.errorTileUrl).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = "http://test";
layer.errorTileUrl = val;
chai_1.expect(layer.errorTileUrl).to.equal(val);
});
});
describe("[updateInterval]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = spec_1.randomNumber(100, 1, 0);
layer.updateInterval = val;
chai_1.expect(layer.options.updateInterval).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = spec_1.randomNumber(100, 1, 0);
layer.updateInterval = val;
chai_1.expect(layer.updateInterval).to.equal(val);
});
});
describe("[keepBuffer]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = spec_1.randomNumber(100, 1, 0);
layer.keepBuffer = val;
chai_1.expect(layer.options.keepBuffer).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = spec_1.randomNumber(100, 1, 0);
layer.keepBuffer = val;
chai_1.expect(layer.keepBuffer).to.equal(val);
});
});
describe("[maxZoom]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = spec_1.randomNumber(20, 0, 0);
layer.maxZoom = val;
chai_1.expect(layer.options.maxZoom).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = spec_1.randomNumber(20, 0, 0);
layer.maxZoom = val;
chai_1.expect(layer.maxZoom).to.equal(val);
});
});
describe("[minZoom]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = spec_1.randomNumber(5, 0, 0);
layer.minZoom = val;
chai_1.expect(layer.options.minZoom).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = spec_1.randomNumber(5, 0, 0);
layer.minZoom = val;
chai_1.expect(layer.minZoom).to.equal(val);
});
});
describe("[maxNativeZoom]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = spec_1.randomNumber(100, 1, 0);
layer.maxNativeZoom = val;
chai_1.expect(layer.options.maxNativeZoom).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = spec_1.randomNumber(100, 1, 0);
layer.maxNativeZoom = val;
chai_1.expect(layer.maxNativeZoom).to.equal(val);
});
});
describe("[minNativeZoom]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = Math.ceil(Math.random() * 5);
layer.minNativeZoom = val;
chai_1.expect(layer.options.minNativeZoom).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = Math.ceil(Math.random() * 5);
layer.minNativeZoom = val;
chai_1.expect(layer.minNativeZoom).to.equal(val);
});
});
describe("[zoomOffset]", function () {
it("should be changed in Leaflet when changing in Angular", function () {
var val = spec_1.randomNumber(100, 1, 0);
layer.zoomOffset = val;
chai_1.expect(layer.options.zoomOffset).to.equal(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = spec_1.randomNumber(100, 1, 0);
layer.zoomOffset = val;
chai_1.expect(layer.zoomOffset).to.equal(val);
});
});
describe("[tms]", function () {
it("should be changed to false in Leaflet when changing in Angular to false", function () {
layer.tms = false;
chai_1.expect(layer.options.tms).to.equal(false);
});
it("should be changed to true in Leaflet when changing in Angular to true", function () {
layer.options.tms = false;
layer.tms = true;
chai_1.expect(layer.options.tms).to.equal(true);
});
it("should be changed in Angular to false when changing in Angular to false", function () {
layer.tms = false;
chai_1.expect(layer.tms).to.equal(false);
});
it("should be changed in Angular to true when changing in Angular to true", function () {
layer.tms = true;
chai_1.expect(layer.tms).to.equal(true);
});
});
describe("[zoomReverse]", function () {
it("should be changed to false in Leaflet when changing in Angular to false", function () {
layer.zoomReverse = false;
chai_1.expect(layer.options.zoomReverse).to.equal(false);
});
it("should be changed to true in Leaflet when changing in Angular to true", function () {
layer.options.zoomReverse = false;
layer.zoomReverse = true;
chai_1.expect(layer.options.zoomReverse).to.equal(true);
});
it("should be changed in Angular to false when changing in Angular to false", function () {
layer.zoomReverse = false;
chai_1.expect(layer.zoomReverse).to.equal(false);
});
it("should be changed in Angular to true when changing in Angular to true", function () {
layer.zoomReverse = true;
chai_1.expect(layer.zoomReverse).to.equal(true);
});
});
describe("[detectRetina]", function () {
it("should be changed to false in Leaflet when changing in Angular to false", function () {
layer.detectRetina = false;
chai_1.expect(layer.options.detectRetina).to.equal(false);
});
it("should be changed to true in Leaflet when changing in Angular to true", function () {
layer.options.detectRetina = false;
layer.detectRetina = true;
chai_1.expect(layer.options.detectRetina).to.equal(true);
});
it("should be changed in Angular to false when changing in Angular to false", function () {
layer.detectRetina = false;
chai_1.expect(layer.detectRetina).to.equal(false);
});
it("should be changed in Angular to true when changing in Angular to true", function () {
layer.detectRetina = true;
chai_1.expect(layer.detectRetina).to.equal(true);
});
});
describe("[crossOrigin]", function () {
it("should be changed to false in Leaflet when changing in Angular to false", function () {
layer.crossOrigin = false;
chai_1.expect(layer.options.crossOrigin).to.equal(false);
});
it("should be changed to true in Leaflet when changing in Angular to true", function () {
layer.options.crossOrigin = false;
layer.crossOrigin = true;
chai_1.expect(layer.options.crossOrigin).to.equal(true);
});
it("should be changed in Angular to false when changing in Angular to false", function () {
layer.crossOrigin = false;
chai_1.expect(layer.crossOrigin).to.equal(false);
});
it("should be changed in Angular to true when changing in Angular to true", function () {
layer.crossOrigin = true;
chai_1.expect(layer.crossOrigin).to.equal(true);
});
});
describe("[updateWhenIdle]", function () {
it("should be changed to false in Leaflet when changing in Angular to false", function () {
layer.updateWhenIdle = false;
chai_1.expect(layer.options.updateWhenIdle).to.equal(false);
});
it("should be changed to true in Leaflet when changing in Angular to true", function () {
layer.options.updateWhenIdle = false;
layer.updateWhenIdle = true;
chai_1.expect(layer.options.updateWhenIdle).to.equal(true);
});
it("should be changed in Angular to false when changing in Angular to false", function () {
layer.updateWhenIdle = false;
chai_1.expect(layer.updateWhenIdle).to.equal(false);
});
it("should be changed in Angular to true when changing in Angular to true", function () {
layer.updateWhenIdle = true;
chai_1.expect(layer.updateWhenIdle).to.equal(true);
});
});
describe("[updateWhenZooming]", function () {
it("should be changed to false in Leaflet when changing in Angular to false", function () {
layer.updateWhenZooming = false;
chai_1.expect(layer.options.updateWhenZooming).to.equal(false);
});
it("should be changed to true in Leaflet when changing in Angular to true", function () {
layer.options.updateWhenZooming = false;
layer.updateWhenZooming = true;
chai_1.expect(layer.options.updateWhenZooming).to.equal(true);
});
it("should be changed in Angular to false when changing in Angular to false", function () {
layer.updateWhenZooming = false;
chai_1.expect(layer.updateWhenZooming).to.equal(false);
});
it("should be changed in Angular to true when changing in Angular to true", function () {
layer.updateWhenZooming = true;
chai_1.expect(layer.updateWhenZooming).to.equal(true);
});
});
describe("[noWrap]", function () {
it("should be changed to false in Leaflet when changing in Angular to false", function () {
layer.noWrap = false;
chai_1.expect(layer.options.noWrap).to.equal(false);
});
it("should be changed to true in Leaflet when changing in Angular to true", function () {
layer.options.noWrap = false;
layer.noWrap = true;
chai_1.expect(layer.options.noWrap).to.equal(true);
});
it("should be changed in Angular to false when changing in Angular to false", function () {
layer.noWrap = false;
chai_1.expect(layer.noWrap).to.equal(false);
});
it("should be changed in Angular to true when changing in Angular to true", function () {
layer.noWrap = true;
chai_1.expect(layer.noWrap).to.equal(true);
});
});
describe("[uppercase]", function () {
it("should be changed to false in Leaflet when changing in Angular to false", function () {
layer.uppercase = false;
chai_1.expect(layer.options.uppercase).to.equal(false);
});
it("should be changed to true in Leaflet when changing in Angular to true", function () {
layer.options.uppercase = false;
layer.uppercase = true;
chai_1.expect(layer.options.uppercase).to.equal(true);
});
it("should be changed in Angular to false when changing in Angular to false", function () {
layer.uppercase = false;
chai_1.expect(layer.uppercase).to.equal(false);
});
it("should be changed in Angular to true when changing in Angular to true", function () {
layer.uppercase = true;
chai_1.expect(layer.uppercase).to.equal(true);
});
});
describe("[attribution]", function () {
var attributionControl;
beforeEach(function () {
attributionControl = new index_1.AttributionControlDirective({ ref: map });
});
it("should be changed in Leaflet when changing in Angular", function () {
var val = "Test attribution";
layer.attribution = val;
chai_1.expect(layer.options.attribution).to.equal(val);
chai_1.expect(attributionControl.attributions).to.contain(val);
});
it("should be changed in Angular when changing in Angular", function () {
var val = "Test attribution";
layer.attribution = val;
chai_1.expect(layer.attribution).to.equal(val);
chai_1.expect(attributionControl.attributions).to.contain(val);
});
it("should remove old attribution when changing in Angular", function () {
var oldVal = "Old test attribution";
var newVal = "Test attribution";
layer.attribution = oldVal;
layer.attribution = newVal;
chai_1.expect(attributionControl.attributions).to.contain(newVal);
chai_1.expect(attributionControl.attributions).to.not.contain(oldVal);
});
});
describe("Destroying a WMS-Layer Directive", function () {
it("should remove WMS-Layer Directive from map on destroy", function () {
/* istanbul ignore if */
if (!map.hasLayer(layer)) {
throw new Error("The layer is not part of the map before destroying");
}
layer.ngOnDestroy();
/* istanbul ignore if */
if (map.hasLayer(layer)) {
throw new Error("The layer is still part of the map after destroying");
}
});
});
});
//# sourceMappingURL=wms-layer.directive.spec.js.map