@yaga/leaflet-ng2
Version:
Angular2 module for Leaflet
99 lines • 4.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const chai_1 = require("chai");
const leaflet_1 = require("leaflet");
const index_1 = require("./index");
const spec_1 = require("./spec");
describe("DivIcon Directive", () => {
let map;
let icon;
beforeEach(() => {
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);
icon = new index_1.DivIconDirective({ nativeElement: document.createElement("div") }, { ref: leaflet_1.marker([0, 0]) });
});
// Events
describe("(update)", () => {
it("should fire event in Angular when changing", (done) => {
icon.updateEvent.subscribe((event) => {
chai_1.expect(event.target).to.equal(icon);
return done();
});
icon.iconAnchor = leaflet_1.point(1, 2);
});
});
// Inputs
describe("[iconSize]", () => {
it("should be changed in Leaflet when changing in Angular", () => {
const val = leaflet_1.point(spec_1.randomNumber(100, 0, 0), spec_1.randomNumber(100, 0, 0));
icon.iconSize = val;
chai_1.expect(icon.options.iconSize).to.equal(val);
});
it("should be changed in Angular when changing in Angular", () => {
const val = leaflet_1.point(spec_1.randomNumber(100, 0, 0), spec_1.randomNumber(100, 0, 0));
icon.iconSize = val;
chai_1.expect(icon.iconSize).to.equal(val);
});
it("should fire an event in Angular when changing in Angular", (done) => {
const val = leaflet_1.point(spec_1.randomNumber(100, 0, 0), spec_1.randomNumber(100, 0, 0));
icon.updateEvent.subscribe((ev) => {
chai_1.expect(ev.target).to.equal(icon);
return done();
});
icon.iconSize = val;
});
});
describe("[iconAnchor]", () => {
it("should be changed in Leaflet when changing in Angular", () => {
const val = leaflet_1.point(spec_1.randomNumber(100, 0, 0), spec_1.randomNumber(100, 0, 0));
icon.iconAnchor = val;
chai_1.expect(icon.options.iconAnchor).to.equal(val);
});
it("should be changed in Angular when changing in Angular", () => {
const val = leaflet_1.point(spec_1.randomNumber(100, 0, 0), spec_1.randomNumber(100, 0, 0));
icon.iconAnchor = val;
chai_1.expect(icon.iconAnchor).to.equal(val);
});
it("should fire an event in Angular when changing in Angular", (done) => {
const val = leaflet_1.point(spec_1.randomNumber(100, 0, 0), spec_1.randomNumber(100, 0, 0));
icon.updateEvent.subscribe((ev) => {
chai_1.expect(ev.target).to.equal(icon);
return done();
});
icon.iconAnchor = val;
});
});
describe("[popupAnchor]", () => {
it("should be changed in Leaflet when changing in Angular", () => {
const val = leaflet_1.point(spec_1.randomNumber(100, 0, 0), spec_1.randomNumber(100, 0, 0));
icon.popupAnchor = val;
chai_1.expect(icon.options.popupAnchor).to.equal(val);
});
it("should be changed in Angular when changing in Angular", () => {
const val = leaflet_1.point(spec_1.randomNumber(100, 0, 0), spec_1.randomNumber(100, 0, 0));
icon.popupAnchor = val;
chai_1.expect(icon.popupAnchor).to.equal(val);
});
it("should fire an event in Angular when changing in Angular", (done) => {
const val = leaflet_1.point(spec_1.randomNumber(100, 0, 0), spec_1.randomNumber(100, 0, 0));
icon.updateEvent.subscribe((ev) => {
chai_1.expect(ev.target).to.equal(icon);
return done();
});
icon.popupAnchor = val;
});
});
describe(".createIcon(oldDivIcon)", () => {
it("should add the .yaga-div-icon class", () => {
const val = document.createElement("div");
chai_1.expect(icon.createIcon(val).getAttribute("class").split("yaga-div-icon").length).to.equal(2);
});
it("should not add the .yaga-div-icon class again", () => {
const val = document.createElement("div");
val.setAttribute("class", "yaga-div-icon");
chai_1.expect(icon.createIcon(val).getAttribute("class").split("yaga-div-icon").length).to.equal(2);
});
});
});
//# sourceMappingURL=div-icon.directive.spec.js.map