Assert that ol.layer.Tile#getPreload is always set
This commit is contained in:
@@ -30,18 +30,21 @@ ol.layer.TileProperty = {
|
|||||||
ol.layer.Tile = function(opt_options) {
|
ol.layer.Tile = function(opt_options) {
|
||||||
var options = goog.isDef(opt_options) ? opt_options : {};
|
var options = goog.isDef(opt_options) ? opt_options : {};
|
||||||
goog.base(this, /** @type {olx.layer.LayerOptions} */ (options));
|
goog.base(this, /** @type {olx.layer.LayerOptions} */ (options));
|
||||||
|
|
||||||
|
if (!goog.isDef(this.getPreload())) {
|
||||||
|
this.setPreload(0);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
goog.inherits(ol.layer.Tile, ol.layer.Layer);
|
goog.inherits(ol.layer.Tile, ol.layer.Layer);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {number|undefined} The level to preload tiles up to.
|
* @return {number} The level to preload tiles up to.
|
||||||
* @observable
|
* @observable
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
ol.layer.Tile.prototype.getPreload = function() {
|
ol.layer.Tile.prototype.getPreload = function() {
|
||||||
return /** @type {number|undefined} */ (
|
return /** @type {number} */ (this.get(ol.layer.TileProperty.PRELOAD));
|
||||||
this.get(ol.layer.TileProperty.PRELOAD));
|
|
||||||
};
|
};
|
||||||
goog.exportProperty(
|
goog.exportProperty(
|
||||||
ol.layer.Tile.prototype,
|
ol.layer.Tile.prototype,
|
||||||
|
|||||||
@@ -246,8 +246,7 @@ ol.renderer.Layer.prototype.snapCenterToPixel =
|
|||||||
* @param {ol.proj.Projection} projection Projection.
|
* @param {ol.proj.Projection} projection Projection.
|
||||||
* @param {ol.Extent} extent Extent.
|
* @param {ol.Extent} extent Extent.
|
||||||
* @param {number} currentZ Current Z.
|
* @param {number} currentZ Current Z.
|
||||||
* @param {number|undefined} preload Load low resolution tiles up to 'preload'
|
* @param {number} preload Load low resolution tiles up to 'preload' levels.
|
||||||
* levels.
|
|
||||||
* @param {function(this: T, ol.Tile)=} opt_tileCallback Tile callback.
|
* @param {function(this: T, ol.Tile)=} opt_tileCallback Tile callback.
|
||||||
* @param {T=} opt_this Object to use as `this` in `opt_tileCallback`.
|
* @param {T=} opt_this Object to use as `this` in `opt_tileCallback`.
|
||||||
* @protected
|
* @protected
|
||||||
@@ -264,9 +263,6 @@ ol.renderer.Layer.prototype.manageTilePyramid = function(
|
|||||||
var tileQueue = frameState.tileQueue;
|
var tileQueue = frameState.tileQueue;
|
||||||
var minZoom = tileGrid.getMinZoom();
|
var minZoom = tileGrid.getMinZoom();
|
||||||
var tile, tileRange, tileResolution, x, y, z;
|
var tile, tileRange, tileResolution, x, y, z;
|
||||||
if (!goog.isDef(preload)) {
|
|
||||||
preload = 0;
|
|
||||||
}
|
|
||||||
for (z = currentZ; z >= minZoom; --z) {
|
for (z = currentZ; z >= minZoom; --z) {
|
||||||
tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z, tileRange);
|
tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z, tileRange);
|
||||||
tileResolution = tileGrid.getResolution(z);
|
tileResolution = tileGrid.getResolution(z);
|
||||||
|
|||||||
33
test/spec/ol/layer/tilelayer.test.js
Normal file
33
test/spec/ol/layer/tilelayer.test.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
goog.provide('ol.test.layer.Tile');
|
||||||
|
|
||||||
|
describe('ol.layer.Tile', function() {
|
||||||
|
|
||||||
|
describe('constructor (defaults)', function() {
|
||||||
|
|
||||||
|
var layer;
|
||||||
|
|
||||||
|
beforeEach(function() {
|
||||||
|
layer = new ol.layer.Tile({
|
||||||
|
source: new ol.source.OSM()
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(function() {
|
||||||
|
goog.dispose(layer);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('creates an instance', function() {
|
||||||
|
expect(layer).to.be.a(ol.layer.Tile);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('provides default preload', function() {
|
||||||
|
expect(layer.getPreload()).to.be(0);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
goog.require('goog.dispose');
|
||||||
|
goog.require('ol.layer.Tile');
|
||||||
|
goog.require('ol.source.OSM');
|
||||||
Reference in New Issue
Block a user