102 lines
2.9 KiB
JavaScript
102 lines
2.9 KiB
JavaScript
goog.provide('ol.test.ImageUrlFunction');
|
|
|
|
describe('ol.ImageUrlFunction', function() {
|
|
|
|
describe('#createFromParamsFunction', function() {
|
|
|
|
it('is a defined function', function() {
|
|
expect(ol.ImageUrlFunction.createFromParamsFunction).to.not.be(undefined);
|
|
expect(ol.ImageUrlFunction.createFromParamsFunction).to.be.a(Function);
|
|
});
|
|
|
|
it('returns a function that throws when called (no arguments)', function() {
|
|
var got = ol.ImageUrlFunction.createFromParamsFunction();
|
|
expect(function() {
|
|
got();
|
|
}).to.throwException();
|
|
});
|
|
|
|
it('returns a function that doesn\'t throw when called (valid arguments)',
|
|
function() {
|
|
var baseUrl = 'foo',
|
|
params = {foo: 'bar'},
|
|
paramsFunction = sinon.spy(),
|
|
got = ol.ImageUrlFunction.createFromParamsFunction(baseUrl,
|
|
params, paramsFunction);
|
|
|
|
expect(function() {
|
|
got();
|
|
}).to.not.throwException();
|
|
}
|
|
);
|
|
|
|
it('passes given baseUrl to given paramsFunction', function() {
|
|
var baseUrl = 'foo',
|
|
params = {foo: 'bar'},
|
|
spy = sinon.spy(),
|
|
got = ol.ImageUrlFunction.createFromParamsFunction(baseUrl, params,
|
|
spy);
|
|
|
|
got();
|
|
|
|
expect(spy.called).to.be(true);
|
|
expect(spy.calledOnce).to.be(true);
|
|
expect(spy.calledWith(baseUrl)).to.be(true);
|
|
});
|
|
|
|
it('passes given params to given paramsFunction', function() {
|
|
var baseUrl = 'foo',
|
|
params = {foo: 'bar'},
|
|
spy = sinon.spy(),
|
|
got = ol.ImageUrlFunction.createFromParamsFunction(baseUrl, params,
|
|
spy);
|
|
|
|
got();
|
|
|
|
expect(spy.called).to.be(true);
|
|
expect(spy.calledOnce).to.be(true);
|
|
expect(spy.calledWith(baseUrl, params)).to.be(true);
|
|
});
|
|
|
|
it('passes five params to given paramsFunction', function() {
|
|
var baseUrl = 'foo',
|
|
params = {foo: 'bar'},
|
|
extent = [1, 2, 3, 4],
|
|
size = [47, 11],
|
|
projection = ol.proj.get('CRS:84'),
|
|
spy = sinon.spy(),
|
|
firstArgs,
|
|
got = ol.ImageUrlFunction.createFromParamsFunction(baseUrl, params,
|
|
spy);
|
|
|
|
got(extent, size, projection);
|
|
firstArgs = spy.args[0];
|
|
|
|
expect(spy.called).to.be(true);
|
|
expect(spy.calledOnce).to.be(true);
|
|
|
|
expect(firstArgs.length).to.be(5);
|
|
expect(firstArgs).to.eql([baseUrl, params, extent, size, projection]);
|
|
});
|
|
|
|
});
|
|
|
|
describe('#nullImageUrlFunction', function() {
|
|
|
|
it('is a defined function', function() {
|
|
expect(ol.ImageUrlFunction.nullImageUrlFunction).to.not.be(undefined);
|
|
expect(ol.ImageUrlFunction.nullImageUrlFunction).to.be.a(Function);
|
|
});
|
|
|
|
it('always returns undefined', function() {
|
|
var got = ol.ImageUrlFunction.nullImageUrlFunction();
|
|
expect(got).to.be(undefined);
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
goog.require('ol.proj');
|
|
goog.require('ol.ImageUrlFunction');
|