Respect cacheSize for reprojected caches

This commit is contained in:
Andreas Hocevar
2017-03-22 15:50:58 +01:00
parent 57e67e62bb
commit 07d4492ece
4 changed files with 22 additions and 5 deletions

View File

@@ -20,6 +20,14 @@ describe('ol.source.Tile', function() {
expect(source).to.be.a(ol.source.Source);
expect(source).to.be.a(ol.source.Tile);
});
it('sets a custom cache size', function() {
var projection = ol.proj.get('EPSG:4326');
var source = new ol.source.Tile({
projection: projection,
cacheSize: 42
});
expect(source.getTileCacheForProjection(projection).highWaterMark).to.be(42);
});
});
describe('#setKey()', function() {

View File

@@ -12,9 +12,10 @@ goog.require('ol.tilegrid');
describe('ol.source.TileImage', function() {
function createSource(opt_proj, opt_tileGrid) {
function createSource(opt_proj, opt_tileGrid, opt_cacheSize) {
var proj = opt_proj || 'EPSG:3857';
return new ol.source.TileImage({
cacheSize: opt_cacheSize,
projection: proj,
tileGrid: opt_tileGrid ||
ol.tilegrid.createForProjection(proj, undefined, [2, 2]),
@@ -23,6 +24,15 @@ describe('ol.source.TileImage', function() {
});
}
describe('#getTileCacheForProjection', function() {
it('uses the cacheSize for reprojected tile caches', function() {
var source = createSource(undefined, undefined, 42);
var tileCache = source.getTileCacheForProjection(ol.proj.get('EPSG:4326'));
expect(tileCache.highWaterMark).to.be(42);
expect(tileCache).to.not.equal(source.getTileCacheForProjection(source.getProjection()));
});
});
describe('#setTileGridForProjection', function() {
it('uses the tilegrid for given projection', function() {
var source = createSource();