jshinting and major clean up of specs code, ref #2151
This commit is contained in:
parent
4f9e9a7c9a
commit
91c039b7aa
25
spec/spec.hintrc.js
Normal file
25
spec/spec.hintrc.js
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"browser": true,
|
||||||
|
"node": true,
|
||||||
|
"predef": ["define", "L", "expect", "describe", "it", "sinon", "happen", "beforeEach", "afterEach"],
|
||||||
|
"strict": false,
|
||||||
|
"bitwise": true,
|
||||||
|
"camelcase": true,
|
||||||
|
"curly": true,
|
||||||
|
"eqeqeq": true,
|
||||||
|
"forin": false,
|
||||||
|
"immed": true,
|
||||||
|
"latedef": true,
|
||||||
|
"newcap": true,
|
||||||
|
"noarg": true,
|
||||||
|
"noempty": true,
|
||||||
|
"nonew": true,
|
||||||
|
"undef": true,
|
||||||
|
// "unused": true,
|
||||||
|
// "quotmark": "single",
|
||||||
|
"indent": 4,
|
||||||
|
"trailing": true,
|
||||||
|
"white": true,
|
||||||
|
"smarttabs": true
|
||||||
|
// "maxlen": 120
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
describe('L#noConflict', function() {
|
describe('L#noConflict', function () {
|
||||||
it('restores the previous L value and returns Leaflet namespace', function(){
|
it('restores the previous L value and returns Leaflet namespace', function () {
|
||||||
|
|
||||||
expect(L.version).to.be.ok();
|
expect(L.version).to.be.ok();
|
||||||
|
|
||||||
|
@ -1,42 +1,42 @@
|
|||||||
function noSpecs() {
|
|
||||||
xit('has no specs');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Array.prototype.map) {
|
if (!Array.prototype.map) {
|
||||||
Array.prototype.map = function(fun /*, thisp */) {
|
Array.prototype.map = function (fun /*, thisp */) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (this === void 0 || this === null)
|
if (this === void 0 || this === null) {
|
||||||
throw new TypeError();
|
throw new TypeError();
|
||||||
|
}
|
||||||
|
|
||||||
var t = Object(this);
|
var t = Object(this);
|
||||||
var len = t.length >>> 0;
|
// jshint bitwise: false
|
||||||
if (typeof fun !== "function")
|
var len = t.length >>> 0;
|
||||||
throw new TypeError();
|
if (typeof fun !== "function") {
|
||||||
|
throw new TypeError();
|
||||||
|
}
|
||||||
|
|
||||||
var res = new Array(len);
|
var res = new Array(len);
|
||||||
var thisp = arguments[1];
|
var thisp = arguments[1];
|
||||||
for (var i = 0; i < len; i++) {
|
for (var i = 0; i < len; i++) {
|
||||||
if (i in t)
|
if (i in t) {
|
||||||
res[i] = fun.call(thisp, t[i], i, t);
|
res[i] = fun.call(thisp, t[i], i, t);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
expect.Assertion.prototype.near = function(expected, delta) {
|
expect.Assertion.prototype.near = function (expected, delta) {
|
||||||
delta = delta || 1;
|
delta = delta || 1;
|
||||||
expect(this.obj.x).to
|
expect(this.obj.x).to
|
||||||
.be.within(expected.x - delta, expected.x + delta);
|
.be.within(expected.x - delta, expected.x + delta);
|
||||||
expect(this.obj.y).to
|
expect(this.obj.y).to
|
||||||
.be.within(expected.y - delta, expected.y + delta);
|
.be.within(expected.y - delta, expected.y + delta);
|
||||||
};
|
};
|
||||||
|
|
||||||
expect.Assertion.prototype.nearLatLng = function(expected, delta) {
|
expect.Assertion.prototype.nearLatLng = function (expected, delta) {
|
||||||
delta = delta || 1e-4;
|
delta = delta || 1e-4;
|
||||||
expect(this.obj.lat).to
|
expect(this.obj.lat).to
|
||||||
.be.within(expected.lat - delta, expected.lat + delta);
|
.be.within(expected.lat - delta, expected.lat + delta);
|
||||||
expect(this.obj.lng).to
|
expect(this.obj.lng).to
|
||||||
.be.within(expected.lng - delta, expected.lng + delta);
|
.be.within(expected.lng - delta, expected.lng + delta);
|
||||||
};
|
};
|
||||||
|
@ -12,7 +12,7 @@ describe("Control.Layers", function () {
|
|||||||
spy = sinon.spy();
|
spy = sinon.spy();
|
||||||
|
|
||||||
map.on('baselayerchange', spy)
|
map.on('baselayerchange', spy)
|
||||||
.whenReady(function() {
|
.whenReady(function () {
|
||||||
happen.click(layers._baseLayersList.getElementsByTagName("input")[0]);
|
happen.click(layers._baseLayersList.getElementsByTagName("input")[0]);
|
||||||
|
|
||||||
expect(spy.called).to.be.ok();
|
expect(spy.called).to.be.ok();
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
describe("Class", function() {
|
describe("Class", function () {
|
||||||
|
|
||||||
describe("#extend", function() {
|
describe("#extend", function () {
|
||||||
var Klass,
|
var Klass,
|
||||||
constructor,
|
constructor,
|
||||||
method;
|
method;
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function () {
|
||||||
constructor = sinon.spy();
|
constructor = sinon.spy();
|
||||||
method = sinon.spy();
|
method = sinon.spy();
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ describe("Class", function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it("creates a class with the given constructor & properties", function() {
|
it("creates a class with the given constructor & properties", function () {
|
||||||
var a = new Klass();
|
var a = new Klass();
|
||||||
|
|
||||||
expect(constructor.called).to.be.ok();
|
expect(constructor.called).to.be.ok();
|
||||||
@ -30,7 +30,7 @@ describe("Class", function() {
|
|||||||
expect(method.called).to.be.ok();
|
expect(method.called).to.be.ok();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("inherits parent classes' constructor & properties", function() {
|
it("inherits parent classes' constructor & properties", function () {
|
||||||
var Klass2 = Klass.extend({baz: 2});
|
var Klass2 = Klass.extend({baz: 2});
|
||||||
|
|
||||||
var b = new Klass2();
|
var b = new Klass2();
|
||||||
@ -46,28 +46,28 @@ describe("Class", function() {
|
|||||||
expect(method.called).to.be.ok();
|
expect(method.called).to.be.ok();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("supports static properties", function() {
|
it("supports static properties", function () {
|
||||||
expect(Klass.bla).to.eql(1);
|
expect(Klass.bla).to.eql(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("inherits parent static properties", function() {
|
it("inherits parent static properties", function () {
|
||||||
var Klass2 = Klass.extend({});
|
var Klass2 = Klass.extend({});
|
||||||
|
|
||||||
expect(Klass2.bla).to.eql(1);
|
expect(Klass2.bla).to.eql(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("overrides parent static properties", function() {
|
it("overrides parent static properties", function () {
|
||||||
var Klass2 = Klass.extend({statics: {bla: 2}});
|
var Klass2 = Klass.extend({statics: {bla: 2}});
|
||||||
|
|
||||||
expect(Klass2.bla).to.eql(2);
|
expect(Klass2.bla).to.eql(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("includes the given mixin", function() {
|
it("includes the given mixin", function () {
|
||||||
var a = new Klass();
|
var a = new Klass();
|
||||||
expect(a.mixin).to.be.ok();
|
expect(a.mixin).to.be.ok();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("includes multiple mixins", function() {
|
it("includes multiple mixins", function () {
|
||||||
var Klass2 = L.Class.extend({
|
var Klass2 = L.Class.extend({
|
||||||
includes: [{mixin: true}, {mixin2: true}]
|
includes: [{mixin: true}, {mixin2: true}]
|
||||||
});
|
});
|
||||||
@ -77,14 +77,14 @@ describe("Class", function() {
|
|||||||
expect(a.mixin2).to.be.ok();
|
expect(a.mixin2).to.be.ok();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("grants the ability to include the given mixin", function() {
|
it("grants the ability to include the given mixin", function () {
|
||||||
Klass.include({mixin2: true});
|
Klass.include({mixin2: true});
|
||||||
|
|
||||||
var a = new Klass();
|
var a = new Klass();
|
||||||
expect(a.mixin2).to.be.ok();
|
expect(a.mixin2).to.be.ok();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("merges options instead of replacing them", function() {
|
it("merges options instead of replacing them", function () {
|
||||||
var KlassWithOptions1 = L.Class.extend({
|
var KlassWithOptions1 = L.Class.extend({
|
||||||
options: {
|
options: {
|
||||||
foo1: 1,
|
foo1: 1,
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
describe('Events', function() {
|
describe('Events', function () {
|
||||||
var Klass;
|
var Klass;
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function () {
|
||||||
Klass = L.Class.extend({
|
Klass = L.Class.extend({
|
||||||
includes: L.Mixin.Events
|
includes: L.Mixin.Events
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#fireEvent', function() {
|
describe('#fireEvent', function () {
|
||||||
|
|
||||||
it('fires all listeners added through #addEventListener', function() {
|
it('fires all listeners added through #addEventListener', function () {
|
||||||
var obj = new Klass(),
|
var obj = new Klass(),
|
||||||
spy1 = sinon.spy(),
|
spy1 = sinon.spy(),
|
||||||
spy2 = sinon.spy(),
|
spy2 = sinon.spy(),
|
||||||
spy3 = sinon.spy(),
|
spy3 = sinon.spy(),
|
||||||
spy4 = sinon.spy(),
|
spy4 = sinon.spy(),
|
||||||
spy5 = sinon.spy();
|
spy5 = sinon.spy(),
|
||||||
spy6 = sinon.spy();
|
spy6 = sinon.spy();
|
||||||
|
|
||||||
obj.addEventListener('test', spy1);
|
obj.addEventListener('test', spy1);
|
||||||
@ -42,7 +42,7 @@ describe('Events', function() {
|
|||||||
expect(spy6.callCount).to.be(1);
|
expect(spy6.callCount).to.be(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('provides event object to listeners and executes them in the right context', function() {
|
it('provides event object to listeners and executes them in the right context', function () {
|
||||||
var obj = new Klass(),
|
var obj = new Klass(),
|
||||||
obj2 = new Klass(),
|
obj2 = new Klass(),
|
||||||
obj3 = new Klass(),
|
obj3 = new Klass(),
|
||||||
@ -88,7 +88,7 @@ describe('Events', function() {
|
|||||||
obj4.fireEvent('test', {baz: 4});
|
obj4.fireEvent('test', {baz: 4});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('calls no listeners removed through #removeEventListener', function() {
|
it('calls no listeners removed through #removeEventListener', function () {
|
||||||
var obj = new Klass(),
|
var obj = new Klass(),
|
||||||
spy = sinon.spy(),
|
spy = sinon.spy(),
|
||||||
spy2 = sinon.spy(),
|
spy2 = sinon.spy(),
|
||||||
@ -171,7 +171,7 @@ describe('Events', function() {
|
|||||||
expect(spy2.called).to.be(true);
|
expect(spy2.called).to.be(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('removes listeners with a stamp originally added without one', function() {
|
it('removes listeners with a stamp originally added without one', function () {
|
||||||
var obj = new Klass(),
|
var obj = new Klass(),
|
||||||
spy1 = sinon.spy(),
|
spy1 = sinon.spy(),
|
||||||
spy2 = sinon.spy(),
|
spy2 = sinon.spy(),
|
||||||
@ -252,24 +252,25 @@ describe('Events', function() {
|
|||||||
//Add and remove a listener
|
//Add and remove a listener
|
||||||
obj.addEventListener('test', spy, foo2);
|
obj.addEventListener('test', spy, foo2);
|
||||||
obj.removeEventListener('test', spy, foo2);
|
obj.removeEventListener('test', spy, foo2);
|
||||||
|
|
||||||
expect(obj.hasEventListeners('test')).to.be(false);
|
expect(obj.hasEventListeners('test')).to.be(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('makes sure an event is not triggered if a listener is removed during dispatch',function() {
|
it('makes sure an event is not triggered if a listener is removed during dispatch', function () {
|
||||||
var obj = new Klass(),
|
var obj = new Klass(),
|
||||||
spy = sinon.spy();
|
spy = sinon.spy();
|
||||||
obj.addEventListener('test', function() { obj.removeEventListener('test',spy); });
|
|
||||||
obj.addEventListener('test', spy);
|
obj.addEventListener('test', function () { obj.removeEventListener('test', spy); });
|
||||||
obj.fireEvent('test');
|
obj.addEventListener('test', spy);
|
||||||
|
obj.fireEvent('test');
|
||||||
|
|
||||||
expect(spy.called).to.be(false);
|
expect(spy.called).to.be(false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#on, #off & #fire', function() {
|
describe('#on, #off & #fire', function () {
|
||||||
|
|
||||||
it('works like #addEventListener && #removeEventListener', function() {
|
it('works like #addEventListener && #removeEventListener', function () {
|
||||||
var obj = new Klass(),
|
var obj = new Klass(),
|
||||||
spy = sinon.spy();
|
spy = sinon.spy();
|
||||||
|
|
||||||
@ -284,7 +285,7 @@ describe('Events', function() {
|
|||||||
expect(spy.callCount).to.be.lessThan(2);
|
expect(spy.callCount).to.be.lessThan(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does not override existing methods with the same name', function() {
|
it('does not override existing methods with the same name', function () {
|
||||||
var spy1 = sinon.spy(),
|
var spy1 = sinon.spy(),
|
||||||
spy2 = sinon.spy(),
|
spy2 = sinon.spy(),
|
||||||
spy3 = sinon.spy();
|
spy3 = sinon.spy();
|
||||||
@ -309,10 +310,10 @@ describe('Events', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("#clearEventListeners", function() {
|
describe("#clearEventListeners", function () {
|
||||||
it("clears all registered listeners on an object", function() {
|
it("clears all registered listeners on an object", function () {
|
||||||
var spy = sinon.spy(),
|
var spy = sinon.spy(),
|
||||||
obj = new Klass()
|
obj = new Klass(),
|
||||||
otherObj = new Klass();
|
otherObj = new Klass();
|
||||||
|
|
||||||
obj.on('test', spy, obj);
|
obj.on('test', spy, obj);
|
||||||
@ -326,8 +327,8 @@ describe('Events', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#once', function() {
|
describe('#once', function () {
|
||||||
it('removes event listeners after first trigger', function() {
|
it('removes event listeners after first trigger', function () {
|
||||||
var obj = new Klass(),
|
var obj = new Klass(),
|
||||||
spy = sinon.spy();
|
spy = sinon.spy();
|
||||||
|
|
||||||
@ -341,7 +342,7 @@ describe('Events', function() {
|
|||||||
expect(spy.callCount).to.be.lessThan(2);
|
expect(spy.callCount).to.be.lessThan(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('works with an object hash', function() {
|
it('works with an object hash', function () {
|
||||||
var obj = new Klass(),
|
var obj = new Klass(),
|
||||||
spy = sinon.spy(),
|
spy = sinon.spy(),
|
||||||
otherSpy = sinon.spy();
|
otherSpy = sinon.spy();
|
||||||
@ -376,7 +377,7 @@ describe('Events', function() {
|
|||||||
expect(spy.called).to.be(false);
|
expect(spy.called).to.be(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('works if called from a context that doesnt implement #Events', function() {
|
it('works if called from a context that doesnt implement #Events', function () {
|
||||||
var obj = new Klass(),
|
var obj = new Klass(),
|
||||||
spy = sinon.spy(),
|
spy = sinon.spy(),
|
||||||
foo = {};
|
foo = {};
|
||||||
|
@ -242,15 +242,15 @@ describe('Util', function () {
|
|||||||
|
|
||||||
it('throws when a template token is not given', function () {
|
it('throws when a template token is not given', function () {
|
||||||
expect(function () {
|
expect(function () {
|
||||||
L.Util.template(tpl, {foo: 'bar'});
|
L.Util.template(undefined, {foo: 'bar'});
|
||||||
}).to.throwError();
|
}).to.throwError();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#isArray', function () {
|
describe('#isArray', function () {
|
||||||
expect(L.Util.isArray([1, 2, 3])).to.be.true;
|
expect(L.Util.isArray([1, 2, 3])).to.be(true);
|
||||||
expect(L.Util.isArray(new Array(1, 2, 3))).to.be.true;
|
expect(L.Util.isArray(new Array(1, 2, 3))).to.be(true);
|
||||||
expect(L.Util.isArray('blabla')).to.be.false;
|
expect(L.Util.isArray('blabla')).to.be(false);
|
||||||
expect(L.Util.isArray({0: 1, 1: 2})).to.be.false;
|
expect(L.Util.isArray({0: 1, 1: 2})).to.be(false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
describe('DomEvent', function() {
|
describe('DomEvent', function () {
|
||||||
var el;
|
var el;
|
||||||
|
|
||||||
function simulateClick(el) {
|
function simulateClick(el) {
|
||||||
if (document.createEvent) {
|
if (document.createEvent) {
|
||||||
var e = document.createEvent('MouseEvents');
|
var e = document.createEvent('MouseEvents');
|
||||||
e.initMouseEvent('click', true, true, window,
|
e.initMouseEvent('click', true, true, window,
|
||||||
0, 0, 0, 0, 0, false, false, false, false, 0, null);
|
0, 0, 0, 0, 0, false, false, false, false, 0, null);
|
||||||
return el.dispatchEvent(e);
|
return el.dispatchEvent(e);
|
||||||
} else if (el.fireEvent) {
|
} else if (el.fireEvent) {
|
||||||
@ -12,19 +12,19 @@ describe('DomEvent', function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function () {
|
||||||
el = document.createElement('div');
|
el = document.createElement('div');
|
||||||
el.style.position = 'absolute';
|
el.style.position = 'absolute';
|
||||||
el.style.top = el.style.left = '-10000px';
|
el.style.top = el.style.left = '-10000px';
|
||||||
document.body.appendChild(el);
|
document.body.appendChild(el);
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(function() {
|
afterEach(function () {
|
||||||
document.body.removeChild(el);
|
document.body.removeChild(el);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#addListener', function() {
|
describe('#addListener', function () {
|
||||||
it('adds a listener and calls it on event', function() {
|
it('adds a listener and calls it on event', function () {
|
||||||
var listener1 = sinon.spy(),
|
var listener1 = sinon.spy(),
|
||||||
listener2 = sinon.spy();
|
listener2 = sinon.spy();
|
||||||
|
|
||||||
@ -37,11 +37,11 @@ describe('DomEvent', function() {
|
|||||||
expect(listener2.called).to.be.ok();
|
expect(listener2.called).to.be.ok();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('binds "this" to the given context', function() {
|
it('binds "this" to the given context', function () {
|
||||||
var obj = {foo: 'bar'},
|
var obj = {foo: 'bar'},
|
||||||
result;
|
result;
|
||||||
|
|
||||||
L.DomEvent.addListener(el, 'click', function() {
|
L.DomEvent.addListener(el, 'click', function () {
|
||||||
result = this;
|
result = this;
|
||||||
}, obj);
|
}, obj);
|
||||||
|
|
||||||
@ -50,10 +50,10 @@ describe('DomEvent', function() {
|
|||||||
expect(result).to.eql(obj);
|
expect(result).to.eql(obj);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('passes an event object to the listener', function() {
|
it('passes an event object to the listener', function () {
|
||||||
var type;
|
var type;
|
||||||
|
|
||||||
L.DomEvent.addListener(el, 'click', function(e) {
|
L.DomEvent.addListener(el, 'click', function (e) {
|
||||||
type = e && e.type;
|
type = e && e.type;
|
||||||
});
|
});
|
||||||
simulateClick(el);
|
simulateClick(el);
|
||||||
@ -62,8 +62,8 @@ describe('DomEvent', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#removeListener', function() {
|
describe('#removeListener', function () {
|
||||||
it('removes a previously added listener', function() {
|
it('removes a previously added listener', function () {
|
||||||
var listener = sinon.spy();
|
var listener = sinon.spy();
|
||||||
|
|
||||||
L.DomEvent.addListener(el, 'click', listener);
|
L.DomEvent.addListener(el, 'click', listener);
|
||||||
@ -75,8 +75,8 @@ describe('DomEvent', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#stopPropagation', function() {
|
describe('#stopPropagation', function () {
|
||||||
it('stops propagation of the given event', function() {
|
it('stops propagation of the given event', function () {
|
||||||
var child = document.createElement('div'),
|
var child = document.createElement('div'),
|
||||||
listener = sinon.spy();
|
listener = sinon.spy();
|
||||||
|
|
||||||
@ -92,8 +92,8 @@ describe('DomEvent', function() {
|
|||||||
el.removeChild(child);
|
el.removeChild(child);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe('#preventDefault', function() {
|
describe('#preventDefault', function () {
|
||||||
it('prevents the default action of event', function() {
|
it('prevents the default action of event', function () {
|
||||||
L.DomEvent.addListener(el, 'click', L.DomEvent.preventDefault);
|
L.DomEvent.addListener(el, 'click', L.DomEvent.preventDefault);
|
||||||
|
|
||||||
expect(simulateClick(el)).to.be(false);
|
expect(simulateClick(el)).to.be(false);
|
||||||
|
@ -1,30 +1,30 @@
|
|||||||
describe('DomUtil', function() {
|
describe('DomUtil', function () {
|
||||||
var el;
|
var el;
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function () {
|
||||||
el = document.createElement('div');
|
el = document.createElement('div');
|
||||||
el.style.position = 'absolute';
|
el.style.position = 'absolute';
|
||||||
el.style.top = el.style.left = '-10000px';
|
el.style.top = el.style.left = '-10000px';
|
||||||
document.body.appendChild(el);
|
document.body.appendChild(el);
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(function() {
|
afterEach(function () {
|
||||||
document.body.removeChild(el);
|
document.body.removeChild(el);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#get', function() {
|
describe('#get', function () {
|
||||||
it('gets element by id if the given argument is string', function() {
|
it('gets element by id if the given argument is string', function () {
|
||||||
el.id = 'testId';
|
el.id = 'testId';
|
||||||
expect(L.DomUtil.get(el.id)).to.eql(el);
|
expect(L.DomUtil.get(el.id)).to.eql(el);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('returns the element if it is given as an argument', function() {
|
it('returns the element if it is given as an argument', function () {
|
||||||
expect(L.DomUtil.get(el)).to.eql(el);
|
expect(L.DomUtil.get(el)).to.eql(el);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#addClass, #removeClass, #hasClass', function() {
|
describe('#addClass, #removeClass, #hasClass', function () {
|
||||||
it('has defined class for test element', function() {
|
it('has defined class for test element', function () {
|
||||||
el.className = 'bar foo baz ';
|
el.className = 'bar foo baz ';
|
||||||
expect(L.DomUtil.hasClass(el, 'foo')).to.be.ok();
|
expect(L.DomUtil.hasClass(el, 'foo')).to.be.ok();
|
||||||
expect(L.DomUtil.hasClass(el, 'bar')).to.be.ok();
|
expect(L.DomUtil.hasClass(el, 'bar')).to.be.ok();
|
||||||
@ -32,7 +32,7 @@ describe('DomUtil', function() {
|
|||||||
expect(L.DomUtil.hasClass(el, 'boo')).to.not.be.ok();
|
expect(L.DomUtil.hasClass(el, 'boo')).to.not.be.ok();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('adds or removes the class', function() {
|
it('adds or removes the class', function () {
|
||||||
el.className = '';
|
el.className = '';
|
||||||
L.DomUtil.addClass(el, 'foo');
|
L.DomUtil.addClass(el, 'foo');
|
||||||
|
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
describe('PosAnimation', function() {
|
describe('PosAnimation', function () {
|
||||||
var el;
|
var el;
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function () {
|
||||||
el = document.createElement('div');
|
el = document.createElement('div');
|
||||||
this.subject = new L.PosAnimation();
|
this.subject = new L.PosAnimation();
|
||||||
this.subject._el = el;
|
this.subject._el = el;
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#_onStep', function() {
|
describe('#_onStep', function () {
|
||||||
it("sets element position and fires step event if it is able to get current position", function() {
|
it("sets element position and fires step event if it is able to get current position", function () {
|
||||||
var point = new L.Point(5, 5, true);
|
var point = new L.Point(5, 5, true);
|
||||||
sinon.stub(this.subject, '_getPos').returns(point);
|
sinon.stub(this.subject, '_getPos').returns(point);
|
||||||
this.subject.fire = sinon.stub();
|
this.subject.fire = sinon.stub();
|
||||||
this.subject._onStep();
|
this.subject._onStep();
|
||||||
expect(this.subject.fire.withArgs('step').calledOnce).to.be(true);
|
expect(this.subject.fire.withArgs('step').calledOnce).to.be(true);
|
||||||
expect(this.subject._el._leaflet_pos).to.be(point);
|
expect(L.DomUtil.getPosition(this.subject._el)).to.be(point);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('stops transition if a position returned', function() {
|
it('stops transition if a position returned', function () {
|
||||||
sinon.stub(this.subject, '_onTransitionEnd');
|
sinon.stub(this.subject, '_onTransitionEnd');
|
||||||
sinon.stub(this.subject, '_getPos').returns(undefined);
|
sinon.stub(this.subject, '_getPos').returns(undefined);
|
||||||
this.subject._onStep();
|
this.subject._onStep();
|
||||||
|
@ -1,47 +1,47 @@
|
|||||||
describe("CRS.EPSG3395", function() {
|
describe("CRS.EPSG3395", function () {
|
||||||
var crs = L.CRS.EPSG3395;
|
var crs = L.CRS.EPSG3395;
|
||||||
|
|
||||||
describe("#latLngToPoint", function() {
|
describe("#latLngToPoint", function () {
|
||||||
it("projects a center point", function() {
|
it("projects a center point", function () {
|
||||||
expect(crs.latLngToPoint(L.latLng(0, 0), 0)).near(new L.Point(128, 128), 0.01);
|
expect(crs.latLngToPoint(L.latLng(0, 0), 0)).near(new L.Point(128, 128), 0.01);
|
||||||
})
|
});
|
||||||
|
|
||||||
it("projects the northeast corner of the world", function() {
|
it("projects the northeast corner of the world", function () {
|
||||||
expect(crs.latLngToPoint(L.latLng(85.0840591556, 180), 0)).near(new L.Point(256, 0));
|
expect(crs.latLngToPoint(L.latLng(85.0840591556, 180), 0)).near(new L.Point(256, 0));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("#pointToLatLng", function() {
|
describe("#pointToLatLng", function () {
|
||||||
it("reprojects a center point", function() {
|
it("reprojects a center point", function () {
|
||||||
expect(crs.pointToLatLng(new L.Point(128, 128), 0)).nearLatLng(L.latLng(0, 0), 0.01);
|
expect(crs.pointToLatLng(new L.Point(128, 128), 0)).nearLatLng(L.latLng(0, 0), 0.01);
|
||||||
})
|
});
|
||||||
|
|
||||||
it("reprojects the northeast corner of the world", function() {
|
it("reprojects the northeast corner of the world", function () {
|
||||||
expect(crs.pointToLatLng(new L.Point(256, 0), 0)).nearLatLng(L.latLng(85.0840591556, 180));
|
expect(crs.pointToLatLng(new L.Point(256, 0), 0)).nearLatLng(L.latLng(85.0840591556, 180));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("CRS.EPSG3857", function() {
|
describe("CRS.EPSG3857", function () {
|
||||||
var crs = L.CRS.EPSG3857;
|
var crs = L.CRS.EPSG3857;
|
||||||
|
|
||||||
describe("#latLngToPoint", function() {
|
describe("#latLngToPoint", function () {
|
||||||
it("projects a center point", function() {
|
it("projects a center point", function () {
|
||||||
expect(crs.latLngToPoint(L.latLng(0, 0), 0)).near(new L.Point(128, 128), 0.01);
|
expect(crs.latLngToPoint(L.latLng(0, 0), 0)).near(new L.Point(128, 128), 0.01);
|
||||||
})
|
});
|
||||||
|
|
||||||
it("projects the northeast corner of the world", function() {
|
it("projects the northeast corner of the world", function () {
|
||||||
expect(crs.latLngToPoint(L.latLng(85.0511287798, 180), 0)).near(new L.Point(256, 0));
|
expect(crs.latLngToPoint(L.latLng(85.0511287798, 180), 0)).near(new L.Point(256, 0));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("#pointToLatLng", function() {
|
describe("#pointToLatLng", function () {
|
||||||
it("reprojects a center point", function() {
|
it("reprojects a center point", function () {
|
||||||
expect(crs.pointToLatLng(new L.Point(128, 128), 0)).nearLatLng(L.latLng(0, 0), 0.01);
|
expect(crs.pointToLatLng(new L.Point(128, 128), 0)).nearLatLng(L.latLng(0, 0), 0.01);
|
||||||
})
|
});
|
||||||
|
|
||||||
it("reprojects the northeast corner of the world", function() {
|
it("reprojects the northeast corner of the world", function () {
|
||||||
expect(crs.pointToLatLng(new L.Point(256, 0), 0)).nearLatLng(L.latLng(85.0511287798, 180));
|
expect(crs.pointToLatLng(new L.Point(256, 0), 0)).nearLatLng(L.latLng(85.0511287798, 180));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
describe('LatLngBounds', function() {
|
describe('LatLngBounds', function () {
|
||||||
var a, c;
|
var a, c;
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function () {
|
||||||
a = new L.LatLngBounds(
|
a = new L.LatLngBounds(
|
||||||
new L.LatLng(14, 12),
|
new L.LatLng(14, 12),
|
||||||
new L.LatLng(30, 40));
|
new L.LatLng(30, 40));
|
||||||
@ -62,62 +62,62 @@ describe('LatLngBounds', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#isValid', function() {
|
describe('#isValid', function () {
|
||||||
it('returns true if properly set up', function() {
|
it('returns true if properly set up', function () {
|
||||||
expect(a.isValid()).to.be.ok();
|
expect(a.isValid()).to.be.ok();
|
||||||
});
|
});
|
||||||
it('returns false if is invalid', function() {
|
it('returns false if is invalid', function () {
|
||||||
expect(c.isValid()).to.not.be.ok();
|
expect(c.isValid()).to.not.be.ok();
|
||||||
});
|
});
|
||||||
it('returns true if extended', function() {
|
it('returns true if extended', function () {
|
||||||
c.extend([0, 0]);
|
c.extend([0, 0]);
|
||||||
expect(c.isValid()).to.be.ok();
|
expect(c.isValid()).to.be.ok();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#getWest', function () {
|
describe('#getWest', function () {
|
||||||
it('returns a proper bbox west value', function() {
|
it('returns a proper bbox west value', function () {
|
||||||
expect(a.getWest()).to.eql(12);
|
expect(a.getWest()).to.eql(12);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#getSouth', function () {
|
describe('#getSouth', function () {
|
||||||
it('returns a proper bbox south value', function() {
|
it('returns a proper bbox south value', function () {
|
||||||
expect(a.getSouth()).to.eql(14);
|
expect(a.getSouth()).to.eql(14);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#getEast', function () {
|
describe('#getEast', function () {
|
||||||
it('returns a proper bbox east value', function() {
|
it('returns a proper bbox east value', function () {
|
||||||
expect(a.getEast()).to.eql(40);
|
expect(a.getEast()).to.eql(40);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#getNorth', function () {
|
describe('#getNorth', function () {
|
||||||
it('returns a proper bbox north value', function() {
|
it('returns a proper bbox north value', function () {
|
||||||
expect(a.getNorth()).to.eql(30);
|
expect(a.getNorth()).to.eql(30);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#toBBoxString', function () {
|
describe('#toBBoxString', function () {
|
||||||
it('returns a proper left,bottom,right,top bbox', function() {
|
it('returns a proper left,bottom,right,top bbox', function () {
|
||||||
expect(a.toBBoxString()).to.eql("12,14,40,30");
|
expect(a.toBBoxString()).to.eql("12,14,40,30");
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#getNorthWest', function () {
|
describe('#getNorthWest', function () {
|
||||||
it('returns a proper north-west LatLng', function() {
|
it('returns a proper north-west LatLng', function () {
|
||||||
expect(a.getNorthWest()).to.eql(new L.LatLng(a.getNorth(), a.getWest()));
|
expect(a.getNorthWest()).to.eql(new L.LatLng(a.getNorth(), a.getWest()));
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#getSouthEast', function () {
|
describe('#getSouthEast', function () {
|
||||||
it('returns a proper south-east LatLng', function() {
|
it('returns a proper south-east LatLng', function () {
|
||||||
expect(a.getSouthEast()).to.eql(new L.LatLng(a.getSouth(), a.getEast()));
|
expect(a.getSouthEast()).to.eql(new L.LatLng(a.getSouth(), a.getEast()));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
describe('LatLng', function() {
|
describe('LatLng', function () {
|
||||||
describe('constructor', function() {
|
describe('constructor', function () {
|
||||||
it("sets lat and lng", function() {
|
it("sets lat and lng", function () {
|
||||||
var a = new L.LatLng(25, 74);
|
var a = new L.LatLng(25, 74);
|
||||||
expect(a.lat).to.eql(25);
|
expect(a.lat).to.eql(25);
|
||||||
expect(a.lng).to.eql(74);
|
expect(a.lng).to.eql(74);
|
||||||
@ -15,30 +15,30 @@ describe('LatLng', function() {
|
|||||||
var a = new L.LatLng(NaN, NaN);
|
var a = new L.LatLng(NaN, NaN);
|
||||||
}).to.throwError();
|
}).to.throwError();
|
||||||
});
|
});
|
||||||
|
|
||||||
it ('does not set altitude if undefined', function () {
|
it('does not set altitude if undefined', function () {
|
||||||
var a = new L.LatLng(25, 74);
|
var a = new L.LatLng(25, 74);
|
||||||
expect(typeof a.alt).to.eql('undefined');
|
expect(typeof a.alt).to.eql('undefined');
|
||||||
});
|
});
|
||||||
|
|
||||||
it ('sets altitude', function () {
|
it('sets altitude', function () {
|
||||||
var a = new L.LatLng(25, 74, 50);
|
var a = new L.LatLng(25, 74, 50);
|
||||||
expect(a.alt).to.eql(50);
|
expect(a.alt).to.eql(50);
|
||||||
|
|
||||||
var b = new L.LatLng(-25, -74, -50);
|
var b = new L.LatLng(-25, -74, -50);
|
||||||
expect(b.alt).to.eql(-50);
|
expect(b.alt).to.eql(-50);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#equals', function() {
|
describe('#equals', function () {
|
||||||
it("returns true if compared objects are equal within a certain margin", function() {
|
it("returns true if compared objects are equal within a certain margin", function () {
|
||||||
var a = new L.LatLng(10, 20);
|
var a = new L.LatLng(10, 20);
|
||||||
var b = new L.LatLng(10 + 1.0E-10, 20 - 1.0E-10);
|
var b = new L.LatLng(10 + 1.0E-10, 20 - 1.0E-10);
|
||||||
expect(a.equals(b)).to.eql(true);
|
expect(a.equals(b)).to.eql(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("returns false if compared objects are not equal within a certain margin", function() {
|
it("returns false if compared objects are not equal within a certain margin", function () {
|
||||||
var a = new L.LatLng(10, 20);
|
var a = new L.LatLng(10, 20);
|
||||||
var b = new L.LatLng(10, 23.3);
|
var b = new L.LatLng(10, 23.3);
|
||||||
expect(a.equals(b)).to.eql(false);
|
expect(a.equals(b)).to.eql(false);
|
||||||
@ -51,7 +51,7 @@ describe('LatLng', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('#wrap', function () {
|
describe('#wrap', function () {
|
||||||
it("wraps longitude to lie between -180 and 180 by default", function() {
|
it("wraps longitude to lie between -180 and 180 by default", function () {
|
||||||
var a = new L.LatLng(0, 190).wrap().lng;
|
var a = new L.LatLng(0, 190).wrap().lng;
|
||||||
expect(a).to.eql(-170);
|
expect(a).to.eql(-170);
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ describe('LatLng', function() {
|
|||||||
expect(h).to.eql(180);
|
expect(h).to.eql(180);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("wraps longitude within the given range", function() {
|
it("wraps longitude within the given range", function () {
|
||||||
var a = new L.LatLng(0, 190).wrap(-100, 100).lng;
|
var a = new L.LatLng(0, 190).wrap(-100, 100).lng;
|
||||||
expect(a).to.eql(-10);
|
expect(a).to.eql(-10);
|
||||||
});
|
});
|
||||||
|
@ -1,39 +1,39 @@
|
|||||||
describe("Projection.Mercator", function() {
|
describe("Projection.Mercator", function () {
|
||||||
var p = L.Projection.Mercator;
|
var p = L.Projection.Mercator;
|
||||||
|
|
||||||
describe("#project", function() {
|
describe("#project", function () {
|
||||||
it("projects a center point", function() {
|
it("projects a center point", function () {
|
||||||
//edge cases
|
//edge cases
|
||||||
expect(p.project(new L.LatLng(0, 0))).near(new L.Point(0, 0));
|
expect(p.project(new L.LatLng(0, 0))).near(new L.Point(0, 0));
|
||||||
});
|
});
|
||||||
|
|
||||||
it("projects the northeast corner of the world", function() {
|
it("projects the northeast corner of the world", function () {
|
||||||
expect(p.project(new L.LatLng(90, 180))).near(new L.Point(20037508, 20037508));
|
expect(p.project(new L.LatLng(90, 180))).near(new L.Point(20037508, 20037508));
|
||||||
});
|
});
|
||||||
|
|
||||||
it("projects the southwest corner of the world", function() {
|
it("projects the southwest corner of the world", function () {
|
||||||
expect(p.project(new L.LatLng(-90, -180))).near(new L.Point(-20037508, -20037508));
|
expect(p.project(new L.LatLng(-90, -180))).near(new L.Point(-20037508, -20037508));
|
||||||
});
|
});
|
||||||
|
|
||||||
it("projects other points", function() {
|
it("projects other points", function () {
|
||||||
expect(p.project(new L.LatLng(50, 30))).near(new L.Point(3339584, 6413524));
|
expect(p.project(new L.LatLng(50, 30))).near(new L.Point(3339584, 6413524));
|
||||||
|
|
||||||
// from https://github.com/Leaflet/Leaflet/issues/1578
|
// from https://github.com/Leaflet/Leaflet/issues/1578
|
||||||
expect(p.project(new L.LatLng(51.9371170300465, 80.11230468750001)))
|
expect(p.project(new L.LatLng(51.9371170300465, 80.11230468750001)))
|
||||||
.near(new L.Point(8918060.964088084, 6755099.410887127));
|
.near(new L.Point(8918060.964088084, 6755099.410887127));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("#unproject", function() {
|
describe("#unproject", function () {
|
||||||
function pr(point) {
|
function pr(point) {
|
||||||
return p.project(p.unproject(point));
|
return p.project(p.unproject(point));
|
||||||
}
|
}
|
||||||
|
|
||||||
it("unprojects a center point", function() {
|
it("unprojects a center point", function () {
|
||||||
expect(pr(new L.Point(0, 0))).near(new L.Point(0, 0));
|
expect(pr(new L.Point(0, 0))).near(new L.Point(0, 0));
|
||||||
});
|
});
|
||||||
|
|
||||||
it("unprojects pi points", function() {
|
it("unprojects pi points", function () {
|
||||||
expect(pr(new L.Point(-Math.PI, Math.PI))).near(new L.Point(-Math.PI, Math.PI));
|
expect(pr(new L.Point(-Math.PI, Math.PI))).near(new L.Point(-Math.PI, Math.PI));
|
||||||
expect(pr(new L.Point(-Math.PI, -Math.PI))).near(new L.Point(-Math.PI, -Math.PI));
|
expect(pr(new L.Point(-Math.PI, -Math.PI))).near(new L.Point(-Math.PI, -Math.PI));
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
describe('Bounds', function() {
|
describe('Bounds', function () {
|
||||||
var a, b, c;
|
var a, b, c;
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function () {
|
||||||
a = new L.Bounds(
|
a = new L.Bounds(
|
||||||
new L.Point(14, 12),
|
new L.Point(14, 12),
|
||||||
new L.Point(30, 40));
|
new L.Point(30, 40));
|
||||||
@ -13,19 +13,19 @@ describe('Bounds', function() {
|
|||||||
c = new L.Bounds();
|
c = new L.Bounds();
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('constructor', function() {
|
describe('constructor', function () {
|
||||||
it('creates bounds with proper min & max on (Point, Point)', function() {
|
it('creates bounds with proper min & max on (Point, Point)', function () {
|
||||||
expect(a.min).to.eql(new L.Point(14, 12));
|
expect(a.min).to.eql(new L.Point(14, 12));
|
||||||
expect(a.max).to.eql(new L.Point(30, 40));
|
expect(a.max).to.eql(new L.Point(30, 40));
|
||||||
});
|
});
|
||||||
it('creates bounds with proper min & max on (Point[])', function() {
|
it('creates bounds with proper min & max on (Point[])', function () {
|
||||||
expect(b.min).to.eql(new L.Point(14, 12));
|
expect(b.min).to.eql(new L.Point(14, 12));
|
||||||
expect(b.max).to.eql(new L.Point(30, 40));
|
expect(b.max).to.eql(new L.Point(30, 40));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#extend', function() {
|
describe('#extend', function () {
|
||||||
it('extends the bounds to contain the given point', function() {
|
it('extends the bounds to contain the given point', function () {
|
||||||
a.extend(new L.Point(50, 20));
|
a.extend(new L.Point(50, 20));
|
||||||
expect(a.min).to.eql(new L.Point(14, 12));
|
expect(a.min).to.eql(new L.Point(14, 12));
|
||||||
expect(a.max).to.eql(new L.Point(50, 40));
|
expect(a.max).to.eql(new L.Point(50, 40));
|
||||||
@ -36,14 +36,14 @@ describe('Bounds', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#getCenter', function() {
|
describe('#getCenter', function () {
|
||||||
it('returns the center point', function() {
|
it('returns the center point', function () {
|
||||||
expect(a.getCenter()).to.eql(new L.Point(22, 26));
|
expect(a.getCenter()).to.eql(new L.Point(22, 26));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#contains', function() {
|
describe('#contains', function () {
|
||||||
it('contains other bounds or point', function() {
|
it('contains other bounds or point', function () {
|
||||||
a.extend(new L.Point(50, 10));
|
a.extend(new L.Point(50, 10));
|
||||||
expect(a.contains(b)).to.be.ok();
|
expect(a.contains(b)).to.be.ok();
|
||||||
expect(b.contains(a)).to.not.be.ok();
|
expect(b.contains(a)).to.not.be.ok();
|
||||||
@ -52,14 +52,14 @@ describe('Bounds', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#isValid', function() {
|
describe('#isValid', function () {
|
||||||
it('returns true if properly set up', function() {
|
it('returns true if properly set up', function () {
|
||||||
expect(a.isValid()).to.be.ok();
|
expect(a.isValid()).to.be.ok();
|
||||||
});
|
});
|
||||||
it('returns false if is invalid', function() {
|
it('returns false if is invalid', function () {
|
||||||
expect(c.isValid()).to.not.be.ok();
|
expect(c.isValid()).to.not.be.ok();
|
||||||
});
|
});
|
||||||
it('returns true if extended', function() {
|
it('returns true if extended', function () {
|
||||||
c.extend([0, 0]);
|
c.extend([0, 0]);
|
||||||
expect(c.isValid()).to.be.ok();
|
expect(c.isValid()).to.be.ok();
|
||||||
});
|
});
|
||||||
|
@ -1,42 +1,42 @@
|
|||||||
describe("Point", function() {
|
describe("Point", function () {
|
||||||
|
|
||||||
describe('constructor', function() {
|
describe('constructor', function () {
|
||||||
|
|
||||||
it("creates a point with the given x and y", function() {
|
it("creates a point with the given x and y", function () {
|
||||||
var p = new L.Point(1.5, 2.5);
|
var p = new L.Point(1.5, 2.5);
|
||||||
expect(p.x).to.eql(1.5);
|
expect(p.x).to.eql(1.5);
|
||||||
expect(p.y).to.eql(2.5);
|
expect(p.y).to.eql(2.5);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("rounds the given x and y if the third argument is true", function() {
|
it("rounds the given x and y if the third argument is true", function () {
|
||||||
var p = new L.Point(1.3, 2.7, true);
|
var p = new L.Point(1.3, 2.7, true);
|
||||||
expect(p.x).to.eql(1);
|
expect(p.x).to.eql(1);
|
||||||
expect(p.y).to.eql(3);
|
expect(p.y).to.eql(3);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#subtract', function() {
|
describe('#subtract', function () {
|
||||||
it('subtracts the given point from this one', function() {
|
it('subtracts the given point from this one', function () {
|
||||||
var a = new L.Point(50, 30),
|
var a = new L.Point(50, 30),
|
||||||
b = new L.Point(20, 10);
|
b = new L.Point(20, 10);
|
||||||
expect(a.subtract(b)).to.eql(new L.Point(30, 20));
|
expect(a.subtract(b)).to.eql(new L.Point(30, 20));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#add', function() {
|
describe('#add', function () {
|
||||||
it('adds given point to this one', function() {
|
it('adds given point to this one', function () {
|
||||||
expect(new L.Point(50, 30).add(new L.Point(20, 10))).to.eql(new L.Point(70, 40));
|
expect(new L.Point(50, 30).add(new L.Point(20, 10))).to.eql(new L.Point(70, 40));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#divideBy', function() {
|
describe('#divideBy', function () {
|
||||||
it('divides this point by the given amount', function() {
|
it('divides this point by the given amount', function () {
|
||||||
expect(new L.Point(50, 30).divideBy(5)).to.eql(new L.Point(10, 6));
|
expect(new L.Point(50, 30).divideBy(5)).to.eql(new L.Point(10, 6));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#multiplyBy', function() {
|
describe('#multiplyBy', function () {
|
||||||
it('multiplies this point by the given amount', function() {
|
it('multiplies this point by the given amount', function () {
|
||||||
expect(new L.Point(50, 30).multiplyBy(2)).to.eql(new L.Point(100, 60));
|
expect(new L.Point(50, 30).multiplyBy(2)).to.eql(new L.Point(100, 60));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
describe("Transformation", function() {
|
describe("Transformation", function () {
|
||||||
var t, p;
|
var t, p;
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function () {
|
||||||
t = new L.Transformation(1, 2, 3, 4);
|
t = new L.Transformation(1, 2, 3, 4);
|
||||||
p = new L.Point(10, 20);
|
p = new L.Point(10, 20);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#transform', function () {
|
describe('#transform', function () {
|
||||||
it("performs a transformation", function() {
|
it("performs a transformation", function () {
|
||||||
var p2 = t.transform(p, 2);
|
var p2 = t.transform(p, 2);
|
||||||
expect(p2).to.eql(new L.Point(24, 128));
|
expect(p2).to.eql(new L.Point(24, 128));
|
||||||
});
|
});
|
||||||
@ -18,7 +18,7 @@ describe("Transformation", function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('#untransform', function () {
|
describe('#untransform', function () {
|
||||||
it("performs a reverse transformation", function() {
|
it("performs a reverse transformation", function () {
|
||||||
var p2 = t.transform(p, 2);
|
var p2 = t.transform(p, 2);
|
||||||
var p3 = t.untransform(p2, 2);
|
var p3 = t.untransform(p2, 2);
|
||||||
expect(p3).to.eql(p);
|
expect(p3).to.eql(p);
|
||||||
|
@ -17,22 +17,25 @@
|
|||||||
fg1.addLayer(marker);
|
fg1.addLayer(marker);
|
||||||
fg2.addLayer(marker);
|
fg2.addLayer(marker);
|
||||||
|
|
||||||
var wasClicked = 0;
|
var wasClicked1,
|
||||||
fg2.on('click', function(e) {
|
wasClicked2;
|
||||||
|
|
||||||
|
fg2.on('click', function (e) {
|
||||||
expect(e.layer).to.be(marker);
|
expect(e.layer).to.be(marker);
|
||||||
expect(e.target).to.be(fg2);
|
expect(e.target).to.be(fg2);
|
||||||
wasClicked |= 1;
|
wasClicked2 = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
fg1.on('click', function (e) {
|
fg1.on('click', function (e) {
|
||||||
expect(e.layer).to.be(marker);
|
expect(e.layer).to.be(marker);
|
||||||
expect(e.target).to.be(fg1);
|
expect(e.target).to.be(fg1);
|
||||||
wasClicked |= 2;
|
wasClicked1 = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
marker.fire('click', { type: 'click' });
|
marker.fire('click', { type: 'click' });
|
||||||
|
|
||||||
expect(wasClicked).to.be(3);
|
expect(wasClicked1).to.be(true);
|
||||||
|
expect(wasClicked2).to.be(true);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -76,7 +79,7 @@
|
|||||||
fg.addLayer(marker);
|
fg.addLayer(marker);
|
||||||
expect(fg.hasLayer(marker)).to.be(true);
|
expect(fg.hasLayer(marker)).to.be(true);
|
||||||
|
|
||||||
fg.removeLayer(marker._leaflet_id);
|
fg.removeLayer(L.stamp(marker));
|
||||||
expect(fg.hasLayer(marker)).to.be(false);
|
expect(fg.hasLayer(marker)).to.be(false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -210,7 +210,7 @@ describe("L.LayerGroup#toGeoJSON", function () {
|
|||||||
return {
|
return {
|
||||||
type: 'Point',
|
type: 'Point',
|
||||||
coordinates: [20, 10]
|
coordinates: [20, 10]
|
||||||
}
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
expect(layerGroup.toGeoJSON()).to.eql({
|
expect(layerGroup.toGeoJSON()).to.eql({
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
describe('LayerGroup', function () {
|
describe('LayerGroup', function () {
|
||||||
describe("#addLayer", function () {
|
describe("#addLayer", function () {
|
||||||
it('adds a layer', function() {
|
it('adds a layer', function () {
|
||||||
var lg = L.layerGroup(),
|
var lg = L.layerGroup(),
|
||||||
marker = L.marker([0, 0]);
|
marker = L.marker([0, 0]);
|
||||||
|
|
||||||
@ -10,7 +10,7 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe("#removeLayer", function () {
|
describe("#removeLayer", function () {
|
||||||
it('removes a layer', function() {
|
it('removes a layer', function () {
|
||||||
var lg = L.layerGroup(),
|
var lg = L.layerGroup(),
|
||||||
marker = L.marker([0, 0]);
|
marker = L.marker([0, 0]);
|
||||||
|
|
||||||
@ -21,7 +21,7 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe("#clearLayers", function () {
|
describe("#clearLayers", function () {
|
||||||
it('removes all layers', function() {
|
it('removes all layers', function () {
|
||||||
var lg = L.layerGroup(),
|
var lg = L.layerGroup(),
|
||||||
marker = L.marker([0, 0]);
|
marker = L.marker([0, 0]);
|
||||||
|
|
||||||
@ -32,7 +32,7 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe("#getLayers", function () {
|
describe("#getLayers", function () {
|
||||||
it('gets all layers', function() {
|
it('gets all layers', function () {
|
||||||
var lg = L.layerGroup(),
|
var lg = L.layerGroup(),
|
||||||
marker = L.marker([0, 0]);
|
marker = L.marker([0, 0]);
|
||||||
|
|
||||||
@ -42,14 +42,14 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe("#eachLayer", function () {
|
describe("#eachLayer", function () {
|
||||||
it('iterates over all layers', function() {
|
it('iterates over all layers', function () {
|
||||||
var lg = L.layerGroup(),
|
var lg = L.layerGroup(),
|
||||||
marker = L.marker([0, 0]),
|
marker = L.marker([0, 0]),
|
||||||
ctx = { foo: 'bar' };
|
ctx = { foo: 'bar' };
|
||||||
|
|
||||||
lg.addLayer(marker);
|
lg.addLayer(marker);
|
||||||
|
|
||||||
lg.eachLayer(function(layer) {
|
lg.eachLayer(function (layer) {
|
||||||
expect(layer).to.eql(marker);
|
expect(layer).to.eql(marker);
|
||||||
expect(this).to.eql(ctx);
|
expect(this).to.eql(ctx);
|
||||||
}, ctx);
|
}, ctx);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
describe('Popup', function() {
|
describe('Popup', function () {
|
||||||
|
|
||||||
var c, map;
|
var c, map;
|
||||||
|
|
||||||
@ -10,7 +10,7 @@ describe('Popup', function() {
|
|||||||
map.setView(new L.LatLng(55.8, 37.6), 6);
|
map.setView(new L.LatLng(55.8, 37.6), 6);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("closes on map click when map has closePopupOnClick option", function() {
|
it("closes on map click when map has closePopupOnClick option", function () {
|
||||||
map.options.closePopupOnClick = true;
|
map.options.closePopupOnClick = true;
|
||||||
|
|
||||||
var popup = new L.Popup()
|
var popup = new L.Popup()
|
||||||
@ -22,7 +22,7 @@ describe('Popup', function() {
|
|||||||
expect(map.hasLayer(popup)).to.be(false);
|
expect(map.hasLayer(popup)).to.be(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("closes on map click when popup has closeOnClick option", function() {
|
it("closes on map click when popup has closeOnClick option", function () {
|
||||||
map.options.closePopupOnClick = false;
|
map.options.closePopupOnClick = false;
|
||||||
|
|
||||||
var popup = new L.Popup({closeOnClick: true})
|
var popup = new L.Popup({closeOnClick: true})
|
||||||
@ -34,7 +34,7 @@ describe('Popup', function() {
|
|||||||
expect(map.hasLayer(popup)).to.be(false);
|
expect(map.hasLayer(popup)).to.be(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("does not close on map click when popup has closeOnClick: false option", function() {
|
it("does not close on map click when popup has closeOnClick: false option", function () {
|
||||||
map.options.closePopupOnClick = true;
|
map.options.closePopupOnClick = true;
|
||||||
|
|
||||||
var popup = new L.Popup({closeOnClick: false})
|
var popup = new L.Popup({closeOnClick: false})
|
||||||
@ -46,7 +46,7 @@ describe('Popup', function() {
|
|||||||
expect(map.hasLayer(popup)).to.be(true);
|
expect(map.hasLayer(popup)).to.be(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("toggles its visibility when marker is clicked", function() {
|
it("toggles its visibility when marker is clicked", function () {
|
||||||
var marker = new L.Marker(new L.LatLng(55.8, 37.6));
|
var marker = new L.Marker(new L.LatLng(55.8, 37.6));
|
||||||
map.addLayer(marker);
|
map.addLayer(marker);
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ describe('Popup', function() {
|
|||||||
marker.closePopup.restore();
|
marker.closePopup.restore();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should trigger popupopen on marker when popup opens", function() {
|
it("should trigger popupopen on marker when popup opens", function () {
|
||||||
var marker1 = new L.Marker(new L.LatLng(55.8, 37.6));
|
var marker1 = new L.Marker(new L.LatLng(55.8, 37.6));
|
||||||
var marker2 = new L.Marker(new L.LatLng(57.123076977278, 44.861962891635));
|
var marker2 = new L.Marker(new L.LatLng(57.123076977278, 44.861962891635));
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ describe('Popup', function() {
|
|||||||
expect(spy.called).to.be(true);
|
expect(spy.called).to.be(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should trigger popupclose on marker when popup closes", function() {
|
it("should trigger popupclose on marker when popup closes", function () {
|
||||||
var marker1 = new L.Marker(new L.LatLng(55.8, 37.6));
|
var marker1 = new L.Marker(new L.LatLng(55.8, 37.6));
|
||||||
var marker2 = new L.Marker(new L.LatLng(57.123076977278, 44.861962891635));
|
var marker2 = new L.Marker(new L.LatLng(57.123076977278, 44.861962891635));
|
||||||
|
|
||||||
|
@ -11,7 +11,8 @@ describe('TileLayer', function () {
|
|||||||
it("has the same zoomlevels as the tilelayer", function () {
|
it("has the same zoomlevels as the tilelayer", function () {
|
||||||
var maxZoom = 10,
|
var maxZoom = 10,
|
||||||
minZoom = 5;
|
minZoom = 5;
|
||||||
map.setView([0, 0], 1);
|
|
||||||
|
map.setView([0, 0], 1);
|
||||||
|
|
||||||
L.tileLayer(tileUrl, {
|
L.tileLayer(tileUrl, {
|
||||||
maxZoom: maxZoom,
|
maxZoom: maxZoom,
|
||||||
@ -36,33 +37,32 @@ describe('TileLayer', function () {
|
|||||||
it("has its zoomlevels updated to fit the new layer", function () {
|
it("has its zoomlevels updated to fit the new layer", function () {
|
||||||
map.setView([0, 0], 1);
|
map.setView([0, 0], 1);
|
||||||
|
|
||||||
L.tileLayer(tileUrl, { minZoom:10, maxZoom: 15 }).addTo(map);
|
L.tileLayer(tileUrl, {minZoom: 10, maxZoom: 15}).addTo(map);
|
||||||
expect(map.getMinZoom()).to.be(10);
|
expect(map.getMinZoom()).to.be(10);
|
||||||
expect(map.getMaxZoom()).to.be(15);
|
expect(map.getMaxZoom()).to.be(15);
|
||||||
|
|
||||||
L.tileLayer(tileUrl, { minZoom:5, maxZoom: 10 }).addTo(map);
|
L.tileLayer(tileUrl, {minZoom: 5, maxZoom: 10}).addTo(map);
|
||||||
expect(map.getMinZoom()).to.be(5); // changed
|
expect(map.getMinZoom()).to.be(5); // changed
|
||||||
expect(map.getMaxZoom()).to.be(15); // unchanged
|
expect(map.getMaxZoom()).to.be(15); // unchanged
|
||||||
|
|
||||||
|
L.tileLayer(tileUrl, {minZoom: 10, maxZoom: 20}).addTo(map);
|
||||||
L.tileLayer(tileUrl,{ minZoom:10, maxZoom: 20 }).addTo(map);
|
|
||||||
expect(map.getMinZoom()).to.be(5); // unchanged
|
expect(map.getMinZoom()).to.be(5); // unchanged
|
||||||
expect(map.getMaxZoom()).to.be(20); // changed
|
expect(map.getMaxZoom()).to.be(20); // changed
|
||||||
|
|
||||||
|
|
||||||
L.tileLayer(tileUrl, { minZoom:0, maxZoom: 25 }).addTo(map);
|
L.tileLayer(tileUrl, {minZoom: 0, maxZoom: 25}).addTo(map);
|
||||||
expect(map.getMinZoom()).to.be(0); // changed
|
expect(map.getMinZoom()).to.be(0); // changed
|
||||||
expect(map.getMaxZoom()).to.be(25); // changed
|
expect(map.getMaxZoom()).to.be(25); // changed
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe("when a tilelayer is removed from a map", function () {
|
describe("when a tilelayer is removed from a map", function () {
|
||||||
it("has its zoomlevels updated to only fit the layers it currently has", function () {
|
it("has its zoomlevels updated to only fit the layers it currently has", function () {
|
||||||
var tiles = [ L.tileLayer(tileUrl, { minZoom:10, maxZoom: 15 }).addTo(map),
|
var tiles = [ L.tileLayer(tileUrl, {minZoom: 10, maxZoom: 15}).addTo(map),
|
||||||
L.tileLayer(tileUrl, { minZoom:5, maxZoom: 10 }).addTo(map),
|
L.tileLayer(tileUrl, {minZoom: 5, maxZoom: 10}).addTo(map),
|
||||||
L.tileLayer(tileUrl, { minZoom:10, maxZoom: 20 }).addTo(map),
|
L.tileLayer(tileUrl, {minZoom: 10, maxZoom: 20}).addTo(map),
|
||||||
L.tileLayer(tileUrl, { minZoom:0, maxZoom: 25 }).addTo(map)
|
L.tileLayer(tileUrl, {minZoom: 0, maxZoom: 25}).addTo(map)
|
||||||
];
|
];
|
||||||
map.whenReady(function() {
|
map.whenReady(function () {
|
||||||
expect(map.getMinZoom()).to.be(0);
|
expect(map.getMinZoom()).to.be(0);
|
||||||
expect(map.getMaxZoom()).to.be(25);
|
expect(map.getMaxZoom()).to.be(25);
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
describe('CircleMarker', function() {
|
describe('CircleMarker', function () {
|
||||||
describe("#_radius", function() {
|
describe("#_radius", function () {
|
||||||
var map;
|
var map;
|
||||||
beforeEach(function() {
|
beforeEach(function () {
|
||||||
map = L.map(document.createElement('div'));
|
map = L.map(document.createElement('div'));
|
||||||
map.setView([0, 0], 1);
|
map.setView([0, 0], 1);
|
||||||
});
|
});
|
||||||
describe("when a CircleMarker is added to the map ", function() {
|
describe("when a CircleMarker is added to the map ", function () {
|
||||||
describe("with a radius set as an option", function() {
|
describe("with a radius set as an option", function () {
|
||||||
it("takes that radius", function() {
|
it("takes that radius", function () {
|
||||||
var marker = L.circleMarker([0, 0], { radius: 20 }).addTo(map);
|
var marker = L.circleMarker([0, 0], { radius: 20 }).addTo(map);
|
||||||
|
|
||||||
expect(marker._radius).to.be(20);
|
expect(marker._radius).to.be(20);
|
||||||
@ -33,7 +33,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe("and setStyle is used to change the radius after adding", function () {
|
describe("and setStyle is used to change the radius after adding", function () {
|
||||||
it("takes the given radius", function() {
|
it("takes the given radius", function () {
|
||||||
var marker = L.circleMarker([0, 0], { radius: 20 });
|
var marker = L.circleMarker([0, 0], { radius: 20 });
|
||||||
marker.addTo(map);
|
marker.addTo(map);
|
||||||
marker.setStyle({ radius: 15 });
|
marker.setStyle({ radius: 15 });
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
describe('Polygon', function() {
|
describe('Polygon', function () {
|
||||||
|
|
||||||
var c = document.createElement('div');
|
var c = document.createElement('div');
|
||||||
c.style.width = '400px';
|
c.style.width = '400px';
|
||||||
@ -6,7 +6,7 @@ describe('Polygon', function() {
|
|||||||
var map = new L.Map(c);
|
var map = new L.Map(c);
|
||||||
map.setView(new L.LatLng(55.8, 37.6), 6);
|
map.setView(new L.LatLng(55.8, 37.6), 6);
|
||||||
|
|
||||||
describe("#initialize", function() {
|
describe("#initialize", function () {
|
||||||
it("doesn't overwrite the given latlng array", function () {
|
it("doesn't overwrite the given latlng array", function () {
|
||||||
var originalLatLngs = [
|
var originalLatLngs = [
|
||||||
[1, 2],
|
[1, 2],
|
||||||
@ -24,7 +24,7 @@ describe('Polygon', function() {
|
|||||||
var polygon = new L.Polygon([]);
|
var polygon = new L.Polygon([]);
|
||||||
expect(polygon.getLatLngs()).to.eql([]);
|
expect(polygon.getLatLngs()).to.eql([]);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("can be initialized with holes", function () {
|
it("can be initialized with holes", function () {
|
||||||
var originalLatLngs = [
|
var originalLatLngs = [
|
||||||
[ //external rink
|
[ //external rink
|
||||||
@ -38,7 +38,7 @@ describe('Polygon', function() {
|
|||||||
|
|
||||||
//getLatLngs() returns only external ring
|
//getLatLngs() returns only external ring
|
||||||
expect(polygon.getLatLngs()).to.eql([L.latLng([0, 10]), L.latLng([10, 10]), L.latLng([10, 0])]);
|
expect(polygon.getLatLngs()).to.eql([L.latLng([0, 10]), L.latLng([10, 10]), L.latLng([10, 0])]);
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("#setLatLngs", function () {
|
describe("#setLatLngs", function () {
|
||||||
@ -55,8 +55,8 @@ describe('Polygon', function() {
|
|||||||
|
|
||||||
expect(sourceLatLngs).to.eql(originalLatLngs);
|
expect(sourceLatLngs).to.eql(originalLatLngs);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("can be set external ring and holes", function() {
|
it("can be set external ring and holes", function () {
|
||||||
var latLngs = [
|
var latLngs = [
|
||||||
[ //external rink
|
[ //external rink
|
||||||
[0, 10], [10, 10], [10, 0]
|
[0, 10], [10, 10], [10, 0]
|
||||||
@ -70,7 +70,7 @@ describe('Polygon', function() {
|
|||||||
|
|
||||||
//getLatLngs() returns only external ring
|
//getLatLngs() returns only external ring
|
||||||
expect(polygon.getLatLngs()).to.eql([L.latLng([0, 10]), L.latLng([10, 10]), L.latLng([10, 0])]);
|
expect(polygon.getLatLngs()).to.eql([L.latLng([0, 10]), L.latLng([10, 10]), L.latLng([10, 0])]);
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("#spliceLatLngs", function () {
|
describe("#spliceLatLngs", function () {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
describe('PolylineGeometry', function() {
|
describe('PolylineGeometry', function () {
|
||||||
|
|
||||||
var c = document.createElement('div');
|
var c = document.createElement('div');
|
||||||
c.style.width = '400px';
|
c.style.width = '400px';
|
||||||
@ -6,12 +6,12 @@ describe('PolylineGeometry', function() {
|
|||||||
var map = new L.Map(c);
|
var map = new L.Map(c);
|
||||||
map.setView(new L.LatLng(55.8, 37.6), 6);
|
map.setView(new L.LatLng(55.8, 37.6), 6);
|
||||||
|
|
||||||
describe("#distanceTo", function() {
|
describe("#distanceTo", function () {
|
||||||
it("calculates distances to points", function() {
|
it("calculates distances to points", function () {
|
||||||
var p1 = map.latLngToLayerPoint(new L.LatLng(55.8, 37.6));
|
var p1 = map.latLngToLayerPoint(new L.LatLng(55.8, 37.6));
|
||||||
var p2 = map.latLngToLayerPoint(new L.LatLng(57.123076977278, 44.861962891635));
|
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]]
|
var latlngs = [[56.485503424111, 35.545556640339], [55.972522915346, 36.116845702918], [55.502459116923, 34.930322265253], [55.31534617509, 38.973291015816]]
|
||||||
.map(function(ll) {
|
.map(function (ll) {
|
||||||
return new L.LatLng(ll[0], ll[1]);
|
return new L.LatLng(ll[0], ll[1]);
|
||||||
});
|
});
|
||||||
var polyline = new L.Polyline([], {
|
var polyline = new L.Polyline([], {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
describe('Polyline', function() {
|
describe('Polyline', function () {
|
||||||
|
|
||||||
var c = document.createElement('div');
|
var c = document.createElement('div');
|
||||||
c.style.width = '400px';
|
c.style.width = '400px';
|
||||||
@ -6,7 +6,7 @@ describe('Polyline', function() {
|
|||||||
var map = new L.Map(c);
|
var map = new L.Map(c);
|
||||||
map.setView(new L.LatLng(55.8, 37.6), 6);
|
map.setView(new L.LatLng(55.8, 37.6), 6);
|
||||||
|
|
||||||
describe("#initialize", function() {
|
describe("#initialize", function () {
|
||||||
it("doesn't overwrite the given latlng array", function () {
|
it("doesn't overwrite the given latlng array", function () {
|
||||||
var originalLatLngs = [
|
var originalLatLngs = [
|
||||||
[1, 2],
|
[1, 2],
|
||||||
|
@ -29,8 +29,8 @@ describe("Map", function () {
|
|||||||
var container = document.createElement('div'),
|
var container = document.createElement('div'),
|
||||||
map = new L.Map(container);
|
map = new L.Map(container);
|
||||||
expect(function () {
|
expect(function () {
|
||||||
new L.Map(container);
|
L.map(container);
|
||||||
}).to.throwException(function(e) {
|
}).to.throwException(function (e) {
|
||||||
expect(e.message).to.eql("Map container is already initialized.");
|
expect(e.message).to.eql("Map container is already initialized.");
|
||||||
});
|
});
|
||||||
map.remove();
|
map.remove();
|
||||||
@ -38,8 +38,8 @@ describe("Map", function () {
|
|||||||
|
|
||||||
it("throws an exception if a container is not found", function () {
|
it("throws an exception if a container is not found", function () {
|
||||||
expect(function () {
|
expect(function () {
|
||||||
new L.Map('nonexistentdivelement');
|
L.map('nonexistentdivelement');
|
||||||
}).to.throwException(function(e) {
|
}).to.throwException(function (e) {
|
||||||
expect(e.message).to.eql("Map container not found.");
|
expect(e.message).to.eql("Map container not found.");
|
||||||
});
|
});
|
||||||
map.remove();
|
map.remove();
|
||||||
@ -215,7 +215,7 @@ describe("Map", function () {
|
|||||||
|
|
||||||
it("adds the layer before firing layeradd", function (done) {
|
it("adds the layer before firing layeradd", function (done) {
|
||||||
var layer = { onAdd: sinon.spy(), onRemove: sinon.spy() };
|
var layer = { onAdd: sinon.spy(), onRemove: sinon.spy() };
|
||||||
map.on('layeradd', function() {
|
map.on('layeradd', function () {
|
||||||
expect(map.hasLayer(layer)).to.be.ok();
|
expect(map.hasLayer(layer)).to.be.ok();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -228,7 +228,7 @@ describe("Map", function () {
|
|||||||
var spy = sinon.spy();
|
var spy = sinon.spy();
|
||||||
map.on("zoomlevelschange", spy);
|
map.on("zoomlevelschange", spy);
|
||||||
expect(spy.called).not.to.be.ok();
|
expect(spy.called).not.to.be.ok();
|
||||||
L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 10 }).addTo(map);
|
L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 10}).addTo(map);
|
||||||
expect(spy.called).to.be.ok();
|
expect(spy.called).to.be.ok();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -236,10 +236,10 @@ describe("Map", function () {
|
|||||||
describe("when a new layer with greater zoomlevel coverage than the current layer is added to a map", function () {
|
describe("when a new layer with greater zoomlevel coverage than the current layer is added to a map", function () {
|
||||||
it("fires a zoomlevelschange event", function () {
|
it("fires a zoomlevelschange event", function () {
|
||||||
var spy = sinon.spy();
|
var spy = sinon.spy();
|
||||||
L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 10 }).addTo(map);
|
L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 10}).addTo(map);
|
||||||
map.on("zoomlevelschange", spy);
|
map.on("zoomlevelschange", spy);
|
||||||
expect(spy.called).not.to.be.ok();
|
expect(spy.called).not.to.be.ok();
|
||||||
L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 15 }).addTo(map);
|
L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 15}).addTo(map);
|
||||||
expect(spy.called).to.be.ok();
|
expect(spy.called).to.be.ok();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -247,12 +247,12 @@ describe("Map", function () {
|
|||||||
describe("when a new layer with the same or lower zoomlevel coverage as the current layer is added to a map", function () {
|
describe("when a new layer with the same or lower zoomlevel coverage as the current layer is added to a map", function () {
|
||||||
it("fires no zoomlevelschange event", function () {
|
it("fires no zoomlevelschange event", function () {
|
||||||
var spy = sinon.spy();
|
var spy = sinon.spy();
|
||||||
L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 10 }).addTo(map);
|
L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 10}).addTo(map);
|
||||||
map.on("zoomlevelschange", spy);
|
map.on("zoomlevelschange", spy);
|
||||||
expect(spy.called).not.to.be.ok();
|
expect(spy.called).not.to.be.ok();
|
||||||
L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 10 }).addTo(map);
|
L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 10}).addTo(map);
|
||||||
expect(spy.called).not.to.be.ok();
|
expect(spy.called).not.to.be.ok();
|
||||||
L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 5 }).addTo(map);
|
L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 5}).addTo(map);
|
||||||
expect(spy.called).not.to.be.ok();
|
expect(spy.called).not.to.be.ok();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -311,7 +311,7 @@ describe("Map", function () {
|
|||||||
|
|
||||||
it("removes the layer before firing layerremove", function (done) {
|
it("removes the layer before firing layerremove", function (done) {
|
||||||
var layer = { onAdd: sinon.spy(), onRemove: sinon.spy() };
|
var layer = { onAdd: sinon.spy(), onRemove: sinon.spy() };
|
||||||
map.on('layerremove', function() {
|
map.on('layerremove', function () {
|
||||||
expect(map.hasLayer(layer)).not.to.be.ok();
|
expect(map.hasLayer(layer)).not.to.be.ok();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -322,9 +322,9 @@ describe("Map", function () {
|
|||||||
|
|
||||||
describe("when the last tile layer on a map is removed", function () {
|
describe("when the last tile layer on a map is removed", function () {
|
||||||
it("fires a zoomlevelschange event", function () {
|
it("fires a zoomlevelschange event", function () {
|
||||||
map.whenReady(function(){
|
map.whenReady(function () {
|
||||||
var spy = sinon.spy();
|
var spy = sinon.spy();
|
||||||
var tl = L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 10 }).addTo(map);
|
var tl = L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 10}).addTo(map);
|
||||||
|
|
||||||
map.on("zoomlevelschange", spy);
|
map.on("zoomlevelschange", spy);
|
||||||
expect(spy.called).not.to.be.ok();
|
expect(spy.called).not.to.be.ok();
|
||||||
@ -336,10 +336,10 @@ describe("Map", function () {
|
|||||||
|
|
||||||
describe("when a tile layer is removed from a map and it had greater zoom level coverage than the remainding layer", function () {
|
describe("when a tile layer is removed from a map and it had greater zoom level coverage than the remainding layer", function () {
|
||||||
it("fires a zoomlevelschange event", function () {
|
it("fires a zoomlevelschange event", function () {
|
||||||
map.whenReady(function(){
|
map.whenReady(function () {
|
||||||
var spy = sinon.spy(),
|
var spy = sinon.spy(),
|
||||||
tl = L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 10 }).addTo(map),
|
tl = L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 10}).addTo(map),
|
||||||
t2 = L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 15 }).addTo(map);
|
t2 = L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 15}).addTo(map);
|
||||||
|
|
||||||
map.on("zoomlevelschange", spy);
|
map.on("zoomlevelschange", spy);
|
||||||
expect(spy.called).to.not.be.ok();
|
expect(spy.called).to.not.be.ok();
|
||||||
@ -351,10 +351,10 @@ describe("Map", function () {
|
|||||||
|
|
||||||
describe("when a tile layer is removed from a map it and it had lesser or the sa,e zoom level coverage as the remainding layer(s)", function () {
|
describe("when a tile layer is removed from a map it and it had lesser or the sa,e zoom level coverage as the remainding layer(s)", function () {
|
||||||
it("fires no zoomlevelschange event", function () {
|
it("fires no zoomlevelschange event", function () {
|
||||||
map.whenReady(function(){
|
map.whenReady(function () {
|
||||||
var tl = L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 10 }).addTo(map),
|
var tl = L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 10}).addTo(map),
|
||||||
t2 = L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 10 }).addTo(map),
|
t2 = L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 10}).addTo(map),
|
||||||
t3 = L.tileLayer("{z}{x}{y}", { minZoom:0, maxZoom: 5 }).addTo(map);
|
t3 = L.tileLayer("{z}{x}{y}", {minZoom: 0, maxZoom: 5}).addTo(map);
|
||||||
|
|
||||||
map.on("zoomlevelschange", spy);
|
map.on("zoomlevelschange", spy);
|
||||||
expect(spy).not.toHaveBeenCalled();
|
expect(spy).not.toHaveBeenCalled();
|
||||||
@ -396,11 +396,11 @@ describe("Map", function () {
|
|||||||
|
|
||||||
describe("#invalidateSize", function () {
|
describe("#invalidateSize", function () {
|
||||||
var container,
|
var container,
|
||||||
orig_width = 100;
|
origWidth = 100;
|
||||||
|
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
container = map.getContainer();
|
container = map.getContainer();
|
||||||
container.style.width = orig_width + "px";
|
container.style.width = origWidth + "px";
|
||||||
document.body.appendChild(container);
|
document.body.appendChild(container);
|
||||||
map.setView([0, 0], 0);
|
map.setView([0, 0], 0);
|
||||||
map.invalidateSize({pan: false});
|
map.invalidateSize({pan: false});
|
||||||
@ -411,38 +411,38 @@ describe("Map", function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("pans by the right amount when growing in 1px increments", function () {
|
it("pans by the right amount when growing in 1px increments", function () {
|
||||||
container.style.width = (orig_width + 1) + "px";
|
container.style.width = (origWidth + 1) + "px";
|
||||||
map.invalidateSize();
|
map.invalidateSize();
|
||||||
expect(map._getMapPanePos().x).to.be(1);
|
expect(map._getMapPanePos().x).to.be(1);
|
||||||
|
|
||||||
container.style.width = (orig_width + 2) + "px";
|
container.style.width = (origWidth + 2) + "px";
|
||||||
map.invalidateSize();
|
map.invalidateSize();
|
||||||
expect(map._getMapPanePos().x).to.be(1);
|
expect(map._getMapPanePos().x).to.be(1);
|
||||||
|
|
||||||
container.style.width = (orig_width + 3) + "px";
|
container.style.width = (origWidth + 3) + "px";
|
||||||
map.invalidateSize();
|
map.invalidateSize();
|
||||||
expect(map._getMapPanePos().x).to.be(2);
|
expect(map._getMapPanePos().x).to.be(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("pans by the right amount when shrinking in 1px increments", function () {
|
it("pans by the right amount when shrinking in 1px increments", function () {
|
||||||
container.style.width = (orig_width - 1) + "px";
|
container.style.width = (origWidth - 1) + "px";
|
||||||
map.invalidateSize();
|
map.invalidateSize();
|
||||||
expect(map._getMapPanePos().x).to.be(0);
|
expect(map._getMapPanePos().x).to.be(0);
|
||||||
|
|
||||||
container.style.width = (orig_width - 2) + "px";
|
container.style.width = (origWidth - 2) + "px";
|
||||||
map.invalidateSize();
|
map.invalidateSize();
|
||||||
expect(map._getMapPanePos().x).to.be(-1);
|
expect(map._getMapPanePos().x).to.be(-1);
|
||||||
|
|
||||||
container.style.width = (orig_width - 3) + "px";
|
container.style.width = (origWidth - 3) + "px";
|
||||||
map.invalidateSize();
|
map.invalidateSize();
|
||||||
expect(map._getMapPanePos().x).to.be(-1);
|
expect(map._getMapPanePos().x).to.be(-1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("pans back to the original position after growing by an odd size then returning to the original size", function () {
|
it("pans back to the original position after growing by an odd size and back", function () {
|
||||||
container.style.width = (orig_width + 5) + "px";
|
container.style.width = (origWidth + 5) + "px";
|
||||||
map.invalidateSize();
|
map.invalidateSize();
|
||||||
|
|
||||||
container.style.width = orig_width + "px";
|
container.style.width = origWidth + "px";
|
||||||
map.invalidateSize();
|
map.invalidateSize();
|
||||||
|
|
||||||
expect(map._getMapPanePos().x).to.be(0);
|
expect(map._getMapPanePos().x).to.be(0);
|
||||||
|
@ -1,40 +1,38 @@
|
|||||||
describe("Map.Drag", function(){
|
describe("Map.Drag", function () {
|
||||||
var map;
|
|
||||||
|
|
||||||
describe("#addHook", function () {
|
describe("#addHook", function () {
|
||||||
it("calls the map with dragging enabled", function () {
|
it("calls the map with dragging enabled", function () {
|
||||||
var container = document.createElement('div'),
|
var container = document.createElement('div'),
|
||||||
map = new L.Map(container,{
|
map = new L.Map(container, {
|
||||||
dragging: true
|
dragging: true
|
||||||
});
|
});
|
||||||
expect(map.dragging.enabled()).to.be(true);
|
|
||||||
map.setView([0, 0], 0);
|
expect(map.dragging.enabled()).to.be(true);
|
||||||
expect(map.dragging.enabled()).to.be(true);
|
map.setView([0, 0], 0);
|
||||||
|
expect(map.dragging.enabled()).to.be(true);
|
||||||
});
|
});
|
||||||
it("calls the map with dragging and worldCopyJump enabled", function () {
|
it("calls the map with dragging and worldCopyJump enabled", function () {
|
||||||
var container = document.createElement('div'),
|
var container = document.createElement('div'),
|
||||||
|
map = new L.Map(container, {
|
||||||
map = new L.Map(container,{
|
|
||||||
dragging: true,
|
dragging: true,
|
||||||
worldCopyJump: true
|
worldCopyJump: true
|
||||||
});
|
});
|
||||||
expect(map.dragging.enabled()).to.be(true);
|
|
||||||
map.setView([0, 0], 0);
|
|
||||||
expect(map.dragging.enabled()).to.be(true);
|
|
||||||
});
|
|
||||||
it("calls the map with dragging disabled and worldCopyJump enabled. Enables dragging after setting center and zoom", function () {
|
|
||||||
var container = document.createElement('div'),
|
|
||||||
|
|
||||||
map = new L.Map(container,{
|
expect(map.dragging.enabled()).to.be(true);
|
||||||
|
map.setView([0, 0], 0);
|
||||||
|
expect(map.dragging.enabled()).to.be(true);
|
||||||
|
});
|
||||||
|
it("calls the map with dragging disabled and worldCopyJump enabled; " +
|
||||||
|
"enables dragging after setting center and zoom", function () {
|
||||||
|
var container = document.createElement('div'),
|
||||||
|
map = new L.Map(container, {
|
||||||
dragging: false,
|
dragging: false,
|
||||||
worldCopyJump: true
|
worldCopyJump: true
|
||||||
});
|
});
|
||||||
expect(map.dragging.enabled()).to.be(false);
|
|
||||||
map.setView([0, 0], 0);
|
expect(map.dragging.enabled()).to.be(false);
|
||||||
map.dragging.enable();
|
map.setView([0, 0], 0);
|
||||||
expect(map.dragging.enabled()).to.be(true);
|
map.dragging.enable();
|
||||||
|
expect(map.dragging.enabled()).to.be(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user