From 5d9708be1178e869b273e22c0faaaf45af752992 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Wed, 3 Jun 2015 12:41:35 +0200 Subject: [PATCH] Add tests --- src/ol/tilegrid/tilegrid.js | 6 ++-- test/spec/ol/source/tilevectorsource.test.js | 35 ++++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 test/spec/ol/source/tilevectorsource.test.js diff --git a/src/ol/tilegrid/tilegrid.js b/src/ol/tilegrid/tilegrid.js index fe07506242..6208563e0b 100644 --- a/src/ol/tilegrid/tilegrid.js +++ b/src/ol/tilegrid/tilegrid.js @@ -148,10 +148,8 @@ ol.tilegrid.TileGrid = function(options) { } return tileRange; }, this); - } else if (goog.isDef(extent)) { - if (!goog.isNull(extent)) { - this.calculateTileRanges_(extent); - } + } else if (goog.isDefAndNotNull(extent)) { + this.calculateTileRanges_(extent); } /** diff --git a/test/spec/ol/source/tilevectorsource.test.js b/test/spec/ol/source/tilevectorsource.test.js new file mode 100644 index 0000000000..32c83c346d --- /dev/null +++ b/test/spec/ol/source/tilevectorsource.test.js @@ -0,0 +1,35 @@ +goog.provide('ol.test.source.TileVector'); + + +describe('ol.source.TileVector', function() { + + describe('#loadFeatures()', function() { + + it('calls tileUrlFunction with correct tile coords', function() { + var tileCoords = []; + var source = new ol.source.TileVector({ + format: new ol.format.TopoJSON(), + projection: 'EPSG:3857', + tileGrid: ol.tilegrid.createXYZ({ + maxZoom: 19 + }), + tileUrlFunction: function(tileCoord) { + tileCoords.push(tileCoord.slice()); + return null; + } + }); + source.loadFeatures( + [-8238854, 4969777, -8237854, 4970777], 4.8, source.getProjection()); + expect(tileCoords[0]).to.eql([15, 9647, 12320]); + expect(tileCoords[1]).to.eql([15, 9647, 12319]); + expect(tileCoords[2]).to.eql([15, 9648, 12320]); + expect(tileCoords[3]).to.eql([15, 9648, 12319]); + }); + + }); + +}); + + +goog.require('ol.format.TopoJSON'); +goog.require('ol.source.TileVector');