105 lines
2.0 KiB
JavaScript
105 lines
2.0 KiB
JavaScript
describe('Util', function() {
|
|
|
|
describe('#extend', function() {
|
|
var a;
|
|
|
|
beforeEach(function() {
|
|
a = {
|
|
foo: 5,
|
|
bar: 'asd'
|
|
};
|
|
});
|
|
|
|
it('should extend the first argument with the properties of the second', function() {
|
|
L.Util.extend(a, {
|
|
bar: 7,
|
|
baz: 3
|
|
});
|
|
|
|
expect(a).toEqual({
|
|
foo: 5,
|
|
bar: 7,
|
|
baz: 3
|
|
});
|
|
});
|
|
|
|
it('should work with more than 2 arguments', function() {
|
|
L.Util.extend(a, {bar: 7}, {baz: 3});
|
|
|
|
expect(a).toEqual({
|
|
foo: 5,
|
|
bar: 7,
|
|
baz: 3
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('#bind', function() {
|
|
it('should return the given function with the given context', function() {
|
|
var fn = function() {
|
|
return this;
|
|
};
|
|
|
|
var fn2 = L.Util.bind(fn, 5);
|
|
|
|
expect(fn2()).toEqual(5);
|
|
});
|
|
});
|
|
|
|
describe('#stamp', function() {
|
|
it('should set a unique id on the given object and return it', function() {
|
|
var a = {},
|
|
id = L.Util.stamp(a);
|
|
|
|
expect(typeof id).toEqual('number');
|
|
expect(L.Util.stamp(a)).toEqual(id);
|
|
|
|
var b = {},
|
|
id2 = L.Util.stamp(b);
|
|
|
|
expect(id2).not.toEqual(id);
|
|
});
|
|
});
|
|
|
|
|
|
describe('#getParamString', function() {
|
|
it('should create a valid query string for appending depending on url input', function() {
|
|
var a = {
|
|
url: "http://example.com/get",
|
|
obj: {bar: 7, baz: 3},
|
|
result: "?bar=7&baz=3"
|
|
};
|
|
|
|
expect(L.Util.getParamString(a.obj,a.url)).toEqual(a.result);
|
|
|
|
var b = {
|
|
url: "http://example.com/get?justone=qs",
|
|
obj: {bar: 7, baz: 3},
|
|
result: "&bar=7&baz=3"
|
|
};
|
|
|
|
expect(L.Util.getParamString(b.obj,b.url)).toEqual(b.result);
|
|
|
|
var c = {
|
|
url: undefined,
|
|
obj: {bar: 7, baz: 3},
|
|
result: "?bar=7&baz=3"
|
|
};
|
|
|
|
expect(L.Util.getParamString(c.obj,c.url)).toEqual(c.result);
|
|
});
|
|
});
|
|
|
|
// TODO cancel/requestAnimFrame?
|
|
|
|
// TODO limitExecByInterval
|
|
|
|
// TODO formatNum
|
|
|
|
// TODO splitWords
|
|
|
|
// TODO setOptions
|
|
|
|
// TODO template
|
|
});
|