From 4cad17f8390092ef8e604e68e6acb60b7a5e40c9 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Thu, 16 Apr 2015 15:32:35 +0200 Subject: [PATCH] Do not return a null tileSize --- src/ol/tilegrid/tilegrid.js | 2 +- test/spec/ol/tilegrid/tilegrid.test.js | 70 +++++++++++++++++--------- 2 files changed, 48 insertions(+), 24 deletions(-) diff --git a/src/ol/tilegrid/tilegrid.js b/src/ol/tilegrid/tilegrid.js index 3db5bd3d7a..738b8cbd90 100644 --- a/src/ol/tilegrid/tilegrid.js +++ b/src/ol/tilegrid/tilegrid.js @@ -437,7 +437,7 @@ ol.tilegrid.TileGrid.prototype.getTileRange = * @api stable */ ol.tilegrid.TileGrid.prototype.getTileSize = function(z) { - if (goog.isDef(this.tileSize_)) { + if (!goog.isNull(this.tileSize_)) { return this.tileSize_; } else { goog.asserts.assert(!goog.isNull(this.tileSizes_), diff --git a/test/spec/ol/tilegrid/tilegrid.test.js b/test/spec/ol/tilegrid/tilegrid.test.js index 747b695364..a8b53c8860 100644 --- a/test/spec/ol/tilegrid/tilegrid.test.js +++ b/test/spec/ol/tilegrid/tilegrid.test.js @@ -20,7 +20,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -33,7 +32,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: [100, 50, 50, 25, 10], - extent: extent, origin: origin, tileSize: tileSize }); @@ -47,7 +45,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -60,7 +57,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: [100, 50, 25, 10], - extent: extent, origins: [origin, origin, origin, origin], tileSize: tileSize }); @@ -73,7 +69,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: [100, 50, 25, 10], - extent: extent, origins: [origin, origin, origin, origin], origin: origin, tileSize: tileSize @@ -87,7 +82,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: [100, 50, 25, 10], - extent: extent, origins: [origin, origin, origin], tileSize: tileSize }); @@ -100,7 +94,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: [100, 50, 25, 10], - extent: extent, origins: [origin, origin, origin, origin, origin], tileSize: tileSize }); @@ -113,7 +106,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: [100, 50, 25, 10], - extent: extent, tileSizes: [tileSize, tileSize, tileSize, tileSize], origin: origin }); @@ -126,7 +118,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: [100, 50, 25, 10], - extent: extent, tileSizes: [tileSize, tileSize, tileSize, tileSize], tileSize: tileSize, origin: origin @@ -140,7 +131,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: [100, 50, 25, 10], - extent: extent, tileSizes: [tileSize, tileSize, tileSize], origin: origin }); @@ -153,7 +143,6 @@ describe('ol.tilegrid.TileGrid', function() { expect(function() { return new ol.tilegrid.TileGrid({ resolutions: [100, 50, 25, 10], - extent: extent, tileSizes: [tileSize, tileSize, tileSize, tileSize, tileSize], origin: origin }); @@ -287,7 +276,6 @@ describe('ol.tilegrid.TileGrid', function() { origin = [0, 0]; var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -320,7 +308,6 @@ describe('ol.tilegrid.TileGrid', function() { origin = [0, 100000]; var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -354,7 +341,6 @@ describe('ol.tilegrid.TileGrid', function() { var tileSize = 256; var tileGrid = new ol.tilegrid.TileGrid({ resolutions: [10], - extent: extent, origin: origin, tileSize: tileSize }); @@ -432,7 +418,6 @@ describe('ol.tilegrid.TileGrid', function() { it('returns higher tile coord for intersections by default', function() { var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -458,7 +443,6 @@ describe('ol.tilegrid.TileGrid', function() { it('handles alt intersection policy', function() { var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -487,7 +471,6 @@ describe('ol.tilegrid.TileGrid', function() { it('returns the expected center', function() { var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -511,7 +494,6 @@ describe('ol.tilegrid.TileGrid', function() { it('returns the expected extend', function() { var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -541,7 +523,6 @@ describe('ol.tilegrid.TileGrid', function() { it('returns the expected TileRange', function() { var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -581,7 +562,6 @@ describe('ol.tilegrid.TileGrid', function() { it('returns the expected TileRange', function() { var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -614,11 +594,57 @@ describe('ol.tilegrid.TileGrid', function() { }); }); + describe('getTileSize', function() { + + var resolutions = [1000, 500, 250, 100]; + var origin = [0, 0]; + + it('works with one tile size as number', function() { + var tileGrid = new ol.tilegrid.TileGrid({ + tileSize: 256, + resolutions: resolutions, + origin: origin + }); + expect(tileGrid.getTileSize(0)).to.equal(256); + expect(tileGrid.getTileSize(3)).to.equal(256); + }); + + it('works with one tile size as array', function() { + var tileGrid = new ol.tilegrid.TileGrid({ + tileSize: [512, 256], + resolutions: resolutions, + origin: origin + }); + expect(tileGrid.getTileSize(0)).to.eql([512, 256]); + expect(tileGrid.getTileSize(3)).to.eql([512, 256]); + }); + + it('works with multiple tile sizes as number', function() { + var tileGrid = new ol.tilegrid.TileGrid({ + tileSizes: [256, 256, 256, 512], + resolutions: resolutions, + origin: origin + }); + expect(tileGrid.getTileSize(0)).to.equal(256); + expect(tileGrid.getTileSize(3)).to.equal(512); + }); + + it('works with multiple tile sizes as array', function() { + var tileGrid = new ol.tilegrid.TileGrid({ + tileSizes: [[512, 256], [512, 256], [512, 256], [640, 320]], + resolutions: resolutions, + origin: origin + }); + expect(tileGrid.getTileSize(0)).to.eql([512, 256]); + expect(tileGrid.getTileSize(3)).to.eql([640, 320]); + }); + + }); + describe('forEachTileCoordParentTileRange', function() { it('iterates as expected', function() { var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -659,7 +685,6 @@ describe('ol.tilegrid.TileGrid', function() { it('returns the expected z value', function() { var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize }); @@ -675,7 +700,6 @@ describe('ol.tilegrid.TileGrid', function() { it('returns the expected z value', function() { var tileGrid = new ol.tilegrid.TileGrid({ resolutions: resolutions, - extent: extent, origin: origin, tileSize: tileSize });