Merge pull request #4414 from ahocevar/imageurlfunction-bye-bye

Remove ol.ImageUrlFunction
This commit is contained in:
Andreas Hocevar
2015-11-13 11:40:43 +01:00
3 changed files with 5 additions and 160 deletions

View File

@@ -1,46 +0,0 @@
goog.provide('ol.ImageUrlFunction');
goog.provide('ol.ImageUrlFunctionType');
goog.require('ol.Size');
/**
* @typedef {function(this:ol.source.Image, ol.Extent, ol.Size,
* ol.proj.Projection): (string|undefined)}
*/
ol.ImageUrlFunctionType;
/**
* @param {string} baseUrl Base URL (may have query data).
* @param {Object.<string,*>} params to encode in the URL.
* @param {function(string, Object.<string,*>, ol.Extent, ol.Size,
* ol.proj.Projection): (string|undefined)} paramsFunction params function.
* @return {ol.ImageUrlFunctionType} Image URL function.
*/
ol.ImageUrlFunction.createFromParamsFunction =
function(baseUrl, params, paramsFunction) {
return (
/**
* @this {ol.source.Image}
* @param {ol.Extent} extent Extent.
* @param {ol.Size} size Size.
* @param {ol.proj.Projection} projection Projection.
* @return {string|undefined} URL.
*/
function(extent, size, projection) {
return paramsFunction(baseUrl, params, extent, size, projection);
});
};
/**
* @this {ol.source.Image}
* @param {ol.Extent} extent Extent.
* @param {ol.Size} size Size.
* @return {string|undefined} Image URL.
*/
ol.ImageUrlFunction.nullImageUrlFunction =
function(extent, size) {
return undefined;
};

View File

@@ -6,7 +6,6 @@ goog.require('goog.object');
goog.require('goog.uri.utils');
goog.require('ol.Image');
goog.require('ol.ImageLoadFunctionType');
goog.require('ol.ImageUrlFunction');
goog.require('ol.extent');
goog.require('ol.source.Image');
@@ -49,19 +48,11 @@ ol.source.ImageMapGuide = function(options) {
*/
this.params_ = options.params !== undefined ? options.params : {};
var imageUrlFunction;
if (options.url !== undefined) {
imageUrlFunction = ol.ImageUrlFunction.createFromParamsFunction(
options.url, this.params_, goog.bind(this.getUrl, this));
} else {
imageUrlFunction = ol.ImageUrlFunction.nullImageUrlFunction;
}
/**
* @private
* @type {ol.ImageUrlFunctionType}
* @type {string|undefined}
*/
this.imageUrlFunction_ = imageUrlFunction;
this.url_ = options.url;
/**
* @private
@@ -148,8 +139,9 @@ ol.source.ImageMapGuide.prototype.getImageInternal =
var height = ol.extent.getHeight(extent) / resolution;
var size = [width * pixelRatio, height * pixelRatio];
var imageUrl = this.imageUrlFunction_(extent, size, projection);
if (imageUrl !== undefined) {
if (this.url_ !== undefined) {
var imageUrl = this.getUrl(this.url_, this.params_, extent, size,
projection);
image = new ol.Image(extent, resolution, pixelRatio,
this.getAttributions(), imageUrl, this.crossOrigin_,
this.imageLoadFunction_);

View File

@@ -1,101 +0,0 @@
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');