Files
openlayers/test/spec/ol/imageurlfunction.test.js
2015-04-13 21:13:27 +02:00

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');