From 46bcce464fde8277d4839be4d53b2257d33c0cfa Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Mon, 3 Jul 2017 14:57:16 -0600 Subject: [PATCH] Add missing requires to tests --- test/.eslintrc | 1 - test/rendering/ol/render.test.js | 16 +-- test/spec/ol/color.test.js | 11 +- test/spec/ol/control/attribution.test.js | 2 + test/spec/ol/events.test.js | 4 +- test/spec/ol/format/gml.test.js | 5 +- test/spec/ol/format/kml.test.js | 10 +- test/spec/ol/format/wfs.test.js | 1 + test/spec/ol/graticule.test.js | 2 +- .../ol/interaction/dragrotateandzoom.test.js | 1 + test/spec/ol/interaction/draw.test.js | 5 +- test/spec/ol/interaction/interaction.test.js | 4 +- test/spec/ol/interaction/modify.test.js | 3 +- test/spec/ol/map.test.js | 3 +- test/spec/ol/mapbrowserevent.test.js | 4 +- test/spec/ol/proj/transforms.test.js | 9 +- .../spec/ol/render/webgl/circlereplay.test.js | 3 +- test/spec/ol/render/webgl/immediate.test.js | 12 +- .../ol/render/webgl/linestringreplay.test.js | 3 +- .../ol/render/webgl/polygonreplay.test.js | 3 +- .../ol/render/webgl/texturereplay.test.js | 1 + test/spec/ol/renderer/canvas/map.test.js | 3 +- test/spec/ol/renderer/canvas/replay.test.js | 3 +- .../spec/ol/renderer/canvas/tilelayer.test.js | 3 +- .../renderer/canvas/vectortilelayer.test.js | 2 + test/spec/ol/source/tile.test.js | 108 +++++++++--------- test/spec/ol/source/vectortile.test.js | 1 + test/spec/ol/style/text.test.js | 1 + test/spec/ol/tile.test.js | 2 + test/spec/ol/tilequeue.test.js | 1 + test/spec/ol/vectorimagetile.test.js | 4 +- test/spec/ol/vectortile.test.js | 5 +- test/spec/ol/view.test.js | 2 + test/test-extensions.js | 5 + 34 files changed, 141 insertions(+), 102 deletions(-) diff --git a/test/.eslintrc b/test/.eslintrc index 5f03f0ac52..272c7b2d05 100644 --- a/test/.eslintrc +++ b/test/.eslintrc @@ -3,7 +3,6 @@ "mocha": true }, "rules": { - "openlayers-internal/no-missing-requires": 0, "openlayers-internal/valid-provide": 0 }, "globals": { diff --git a/test/rendering/ol/render.test.js b/test/rendering/ol/render.test.js index 46503d58d6..ed101ac5a6 100644 --- a/test/rendering/ol/render.test.js +++ b/test/rendering/ol/render.test.js @@ -11,24 +11,22 @@ goog.require('ol.style.Fill'); goog.require('ol.style.Stroke'); goog.require('ol.style.Style'); +function getContext() { + return document.createElement('canvas').getContext('2d'); +} describe('ol.render', function() { - var context; - - beforeEach(function() { - context = document.createElement('canvas').getContext('2d'); - }); - describe('ol.render.toContext()', function() { it('creates a vector context from a Canvas 2d context', function() { - var vectorContext = ol.render.toContext(context, {size: [100, 100]}); + var vectorContext = ol.render.toContext(getContext(), {size: [100, 100]}); expect(vectorContext).to.be.a(ol.render.VectorContext); expect(vectorContext).to.be.a(ol.render.canvas.Immediate); }); it('can be used to render a point geometry', function(done) { + var context = getContext(); var vectorContext = ol.render.toContext(context, {size: [100, 100]}); var style = new ol.style.Style({ @@ -49,6 +47,7 @@ describe('ol.render', function() { }); it('can be used to render a linestring geometry', function(done) { + var context = getContext(); var vectorContext = ol.render.toContext(context, {size: [100, 100]}); var style = new ol.style.Style({ @@ -69,6 +68,7 @@ describe('ol.render', function() { }); it('respects lineCap for linestring', function(done) { + var context = getContext(); var vectorContext = ol.render.toContext(context, {size: [100, 100]}); var style = new ol.style.Style({ @@ -90,6 +90,7 @@ describe('ol.render', function() { }); it('respects lineJoin for linestring', function(done) { + var context = getContext(); var vectorContext = ol.render.toContext(context, {size: [100, 100]}); var style = new ol.style.Style({ @@ -111,6 +112,7 @@ describe('ol.render', function() { }); it('can be used to render a polygon geometry', function(done) { + var context = getContext(); var vectorContext = ol.render.toContext(context, {size: [100, 100]}); var style = new ol.style.Style({ diff --git a/test/spec/ol/color.test.js b/test/spec/ol/color.test.js index ad7f178552..54a8a38cc1 100644 --- a/test/spec/ol/color.test.js +++ b/test/spec/ol/color.test.js @@ -1,6 +1,7 @@ goog.provide('ol.test.color'); goog.require('ol.color'); +goog.require('ol'); describe('ol.color', function() { @@ -57,7 +58,8 @@ describe('ol.color', function() { }); after(function() { - ol.color.fromStringInternal_.restore(); + var spy = ol.color.fromStringInternal_; + spy.restore(); }); if (ol.ENABLE_NAMED_COLORS) { @@ -119,11 +121,12 @@ describe('ol.color', function() { }); it('caches parsed values', function() { - var count = ol.color.fromStringInternal_.callCount; + var spy = ol.color.fromStringInternal_; + var count = spy.callCount; ol.color.fromString('aquamarine'); - expect(ol.color.fromStringInternal_.callCount).to.be(count + 1); + expect(spy.callCount).to.be(count + 1); ol.color.fromString('aquamarine'); - expect(ol.color.fromStringInternal_.callCount).to.be(count + 1); + expect(spy.callCount).to.be(count + 1); }); it('throws an error on invalid colors', function() { diff --git a/test/spec/ol/control/attribution.test.js b/test/spec/ol/control/attribution.test.js index daec6568bf..5ceea026fe 100644 --- a/test/spec/ol/control/attribution.test.js +++ b/test/spec/ol/control/attribution.test.js @@ -1,10 +1,12 @@ goog.provide('ol.test.control.Attribution'); goog.require('ol.Map'); +goog.require('ol.Tile'); goog.require('ol.View'); goog.require('ol.control.Attribution'); goog.require('ol.layer.Tile'); goog.require('ol.source.Tile'); +goog.require('ol.tilegrid'); describe('ol.control.Attribution', function() { diff --git a/test/spec/ol/events.test.js b/test/spec/ol/events.test.js index 9f74169196..076f80738f 100644 --- a/test/spec/ol/events.test.js +++ b/test/spec/ol/events.test.js @@ -2,7 +2,7 @@ goog.provide('ol.test.events'); goog.require('ol.events'); goog.require('ol.events.EventTarget'); - +goog.require('ol'); describe('ol.events', function() { var add, remove, target; @@ -53,7 +53,7 @@ describe('ol.events', function() { var boundListener = ol.events.bindListener_(listenerObj); expect(listenerObj.boundListener).to.equal(boundListener); boundListener(); - ol.events.unlistenByKey.restore(); + unlistenSpy.restore(); }); }); diff --git a/test/spec/ol/format/gml.test.js b/test/spec/ol/format/gml.test.js index 2764eab7ab..7c93ecb21f 100644 --- a/test/spec/ol/format/gml.test.js +++ b/test/spec/ol/format/gml.test.js @@ -1,16 +1,17 @@ goog.provide('ol.test.format.GML'); +goog.require('ol.Feature'); goog.require('ol.format.GML'); goog.require('ol.format.GML2'); goog.require('ol.geom.LineString'); goog.require('ol.geom.LinearRing'); -goog.require('ol.geom.MultiPoint'); goog.require('ol.geom.MultiLineString'); +goog.require('ol.geom.MultiPoint'); goog.require('ol.geom.MultiPolygon'); -goog.require('ol.xml'); goog.require('ol.geom.Point'); goog.require('ol.geom.Polygon'); goog.require('ol.proj'); +goog.require('ol.xml'); var readGeometry = function(format, text, opt_options) { var doc = ol.xml.parse(text); diff --git a/test/spec/ol/format/kml.test.js b/test/spec/ol/format/kml.test.js index 48ac137bd9..8d873b6239 100644 --- a/test/spec/ol/format/kml.test.js +++ b/test/spec/ol/format/kml.test.js @@ -1,7 +1,7 @@ goog.provide('ol.test.format.KML'); -goog.require('ol.array'); goog.require('ol.Feature'); +goog.require('ol.array'); goog.require('ol.format.GeoJSON'); goog.require('ol.format.KML'); goog.require('ol.geom.GeometryCollection'); @@ -12,12 +12,14 @@ goog.require('ol.geom.MultiPoint'); goog.require('ol.geom.MultiPolygon'); goog.require('ol.geom.Point'); goog.require('ol.geom.Polygon'); -goog.require('ol.style.Circle'); -goog.require('ol.style.Fill'); -goog.require('ol.style.Icon'); goog.require('ol.proj'); goog.require('ol.proj.Projection'); goog.require('ol.proj.transforms'); +goog.require('ol.style.Circle'); +goog.require('ol.style.Fill'); +goog.require('ol.style.Icon'); +goog.require('ol.style.IconAnchorUnits'); +goog.require('ol.style.IconOrigin'); goog.require('ol.style.Stroke'); goog.require('ol.style.Style'); goog.require('ol.style.Text'); diff --git a/test/spec/ol/format/wfs.test.js b/test/spec/ol/format/wfs.test.js index 503427f078..f07ef80b47 100644 --- a/test/spec/ol/format/wfs.test.js +++ b/test/spec/ol/format/wfs.test.js @@ -4,6 +4,7 @@ goog.require('ol.Feature'); goog.require('ol.format.GML2'); goog.require('ol.format.WFS'); goog.require('ol.format.filter'); +goog.require('ol.geom.LineString'); goog.require('ol.geom.MultiLineString'); goog.require('ol.geom.MultiPoint'); goog.require('ol.geom.MultiPolygon'); diff --git a/test/spec/ol/graticule.test.js b/test/spec/ol/graticule.test.js index dc628c61d0..c13165d88e 100644 --- a/test/spec/ol/graticule.test.js +++ b/test/spec/ol/graticule.test.js @@ -4,7 +4,7 @@ goog.require('ol.Graticule'); goog.require('ol.Map'); goog.require('ol.proj'); goog.require('ol.style.Stroke'); - +goog.require('ol.style.Text'); describe('ol.Graticule', function() { var graticule; diff --git a/test/spec/ol/interaction/dragrotateandzoom.test.js b/test/spec/ol/interaction/dragrotateandzoom.test.js index a21438639b..b533c5ae22 100644 --- a/test/spec/ol/interaction/dragrotateandzoom.test.js +++ b/test/spec/ol/interaction/dragrotateandzoom.test.js @@ -4,6 +4,7 @@ goog.require('ol.Map'); goog.require('ol.MapBrowserPointerEvent'); goog.require('ol.View'); goog.require('ol.interaction.DragRotateAndZoom'); +goog.require('ol.interaction.Interaction'); goog.require('ol.layer.Vector'); goog.require('ol.pointer.PointerEvent'); goog.require('ol.source.Vector'); diff --git a/test/spec/ol/interaction/draw.test.js b/test/spec/ol/interaction/draw.test.js index 588f353771..b7003683dc 100644 --- a/test/spec/ol/interaction/draw.test.js +++ b/test/spec/ol/interaction/draw.test.js @@ -1,11 +1,12 @@ goog.provide('ol.test.interaction.Draw'); -goog.require('ol.array'); -goog.require('ol.events'); goog.require('ol.Feature'); goog.require('ol.Map'); goog.require('ol.MapBrowserPointerEvent'); goog.require('ol.View'); +goog.require('ol.array'); +goog.require('ol.events'); +goog.require('ol.events.condition'); goog.require('ol.geom.Circle'); goog.require('ol.geom.LineString'); goog.require('ol.geom.MultiLineString'); diff --git a/test/spec/ol/interaction/interaction.test.js b/test/spec/ol/interaction/interaction.test.js index b9cbf62e01..cab1457c62 100644 --- a/test/spec/ol/interaction/interaction.test.js +++ b/test/spec/ol/interaction/interaction.test.js @@ -1,10 +1,10 @@ goog.provide('ol.test.interaction.Interaction'); -goog.require('ol.events.EventTarget'); goog.require('ol.Map'); +goog.require('ol.View'); +goog.require('ol.events.EventTarget'); goog.require('ol.interaction.Interaction'); - describe('ol.interaction.Interaction', function() { describe('constructor', function() { diff --git a/test/spec/ol/interaction/modify.test.js b/test/spec/ol/interaction/modify.test.js index d4e43489aa..fec751e9ae 100644 --- a/test/spec/ol/interaction/modify.test.js +++ b/test/spec/ol/interaction/modify.test.js @@ -1,12 +1,13 @@ goog.provide('ol.test.interaction.Modify'); -goog.require('ol.events'); goog.require('ol.Collection'); goog.require('ol.Feature'); goog.require('ol.Map'); goog.require('ol.MapBrowserPointerEvent'); goog.require('ol.View'); +goog.require('ol.events'); goog.require('ol.events.condition'); +goog.require('ol.geom.Circle'); goog.require('ol.geom.LineString'); goog.require('ol.geom.Point'); goog.require('ol.geom.Polygon'); diff --git a/test/spec/ol/map.test.js b/test/spec/ol/map.test.js index ebf772e2ec..e576fc1078 100644 --- a/test/spec/ol/map.test.js +++ b/test/spec/ol/map.test.js @@ -9,10 +9,11 @@ goog.require('ol.interaction'); goog.require('ol.interaction.DoubleClickZoom'); goog.require('ol.interaction.Interaction'); goog.require('ol.interaction.MouseWheelZoom'); +goog.require('ol.interaction.PinchZoom'); goog.require('ol.layer.Tile'); +goog.require('ol.renderer.canvas.IntermediateCanvas'); goog.require('ol.source.XYZ'); - describe('ol.Map', function() { describe('constructor', function() { diff --git a/test/spec/ol/mapbrowserevent.test.js b/test/spec/ol/mapbrowserevent.test.js index 0f7426e3af..cbfe875441 100644 --- a/test/spec/ol/mapbrowserevent.test.js +++ b/test/spec/ol/mapbrowserevent.test.js @@ -1,11 +1,11 @@ goog.provide('ol.test.MapBrowserEventHandler'); -goog.require('ol.events'); goog.require('ol.Map'); goog.require('ol.MapBrowserEventHandler'); +goog.require('ol.events'); +goog.require('ol.has'); goog.require('ol.pointer.PointerEvent'); - describe('ol.MapBrowserEventHandler', function() { describe('#emulateClick_', function() { var clock; diff --git a/test/spec/ol/proj/transforms.test.js b/test/spec/ol/proj/transforms.test.js index 3ba0965038..429c981fd2 100644 --- a/test/spec/ol/proj/transforms.test.js +++ b/test/spec/ol/proj/transforms.test.js @@ -24,13 +24,14 @@ describe('ol.proj.transforms.remove()', function() { return input; }; ol.proj.transforms.add(foo, bar, transform); - expect(ol.proj.transforms.cache_).not.to.be(undefined); - expect(ol.proj.transforms.cache_.foo).not.to.be(undefined); - expect(ol.proj.transforms.cache_.foo.bar).to.be(transform); + var cache = ol.proj.transforms.cache_; + expect(cache).not.to.be(undefined); + expect(cache.foo).not.to.be(undefined); + expect(cache.foo.bar).to.be(transform); var removed = ol.proj.transforms.remove(foo, bar); expect(removed).to.be(transform); - expect(ol.proj.transforms.cache_.foo).to.be(undefined); + expect(cache.foo).to.be(undefined); }); }); diff --git a/test/spec/ol/render/webgl/circlereplay.test.js b/test/spec/ol/render/webgl/circlereplay.test.js index 8aa91eeac3..f8b3e104c0 100644 --- a/test/spec/ol/render/webgl/circlereplay.test.js +++ b/test/spec/ol/render/webgl/circlereplay.test.js @@ -3,8 +3,9 @@ goog.provide('ol.test.render.webgl.CircleReplay'); goog.require('ol'); goog.require('ol.Feature'); goog.require('ol.geom.Circle'); -goog.require('ol.render.webgl.circlereplay.defaultshader'); goog.require('ol.render.webgl.CircleReplay'); +goog.require('ol.render.webgl.circlereplay.defaultshader'); +goog.require('ol.render.webgl.circlereplay.defaultshader.Locations'); goog.require('ol.style.Fill'); goog.require('ol.style.Stroke'); diff --git a/test/spec/ol/render/webgl/immediate.test.js b/test/spec/ol/render/webgl/immediate.test.js index f3f34b44d7..792b509845 100644 --- a/test/spec/ol/render/webgl/immediate.test.js +++ b/test/spec/ol/render/webgl/immediate.test.js @@ -1,15 +1,17 @@ goog.provide('ol.test.render.webgl.Immediate'); -goog.require('ol.geom.GeometryCollection'); +goog.require('ol.Feature'); goog.require('ol.geom.Circle'); -goog.require('ol.geom.Point'); -goog.require('ol.geom.MultiPoint'); +goog.require('ol.geom.GeometryCollection'); goog.require('ol.geom.LineString'); goog.require('ol.geom.MultiLineString'); -goog.require('ol.geom.Polygon'); +goog.require('ol.geom.MultiPoint'); goog.require('ol.geom.MultiPolygon'); -goog.require('ol.render.webgl.ImageReplay'); +goog.require('ol.geom.Point'); +goog.require('ol.geom.Polygon'); goog.require('ol.render.webgl.CircleReplay'); +goog.require('ol.render.webgl.ImageReplay'); +goog.require('ol.render.webgl.Immediate'); goog.require('ol.render.webgl.LineStringReplay'); goog.require('ol.render.webgl.PolygonReplay'); goog.require('ol.style.Circle'); diff --git a/test/spec/ol/render/webgl/linestringreplay.test.js b/test/spec/ol/render/webgl/linestringreplay.test.js index 073e50b6f3..875abb0d7d 100644 --- a/test/spec/ol/render/webgl/linestringreplay.test.js +++ b/test/spec/ol/render/webgl/linestringreplay.test.js @@ -4,8 +4,9 @@ goog.require('ol'); goog.require('ol.Feature'); goog.require('ol.geom.LineString'); goog.require('ol.geom.MultiLineString'); -goog.require('ol.render.webgl.linestringreplay.defaultshader'); goog.require('ol.render.webgl.LineStringReplay'); +goog.require('ol.render.webgl.linestringreplay.defaultshader'); +goog.require('ol.render.webgl.linestringreplay.defaultshader.Locations'); goog.require('ol.style.Stroke'); describe('ol.render.webgl.LineStringReplay', function() { diff --git a/test/spec/ol/render/webgl/polygonreplay.test.js b/test/spec/ol/render/webgl/polygonreplay.test.js index 92ff160822..7933608924 100644 --- a/test/spec/ol/render/webgl/polygonreplay.test.js +++ b/test/spec/ol/render/webgl/polygonreplay.test.js @@ -4,8 +4,9 @@ goog.require('ol'); goog.require('ol.Feature'); goog.require('ol.geom.MultiPolygon'); goog.require('ol.geom.Polygon'); -goog.require('ol.render.webgl.polygonreplay.defaultshader'); goog.require('ol.render.webgl.PolygonReplay'); +goog.require('ol.render.webgl.polygonreplay.defaultshader'); +goog.require('ol.render.webgl.polygonreplay.defaultshader.Locations'); goog.require('ol.structs.LinkedList'); goog.require('ol.structs.RBush'); goog.require('ol.style.Fill'); diff --git a/test/spec/ol/render/webgl/texturereplay.test.js b/test/spec/ol/render/webgl/texturereplay.test.js index 5e85440a6b..79cdb27d48 100644 --- a/test/spec/ol/render/webgl/texturereplay.test.js +++ b/test/spec/ol/render/webgl/texturereplay.test.js @@ -2,6 +2,7 @@ goog.provide('ol.test.render.webgl.TextureReplay'); goog.require('ol.render.webgl.TextureReplay'); goog.require('ol.render.webgl.texturereplay.defaultshader'); +goog.require('ol.render.webgl.texturereplay.defaultshader.Locations'); describe('ol.render.webgl.TextureReplay', function() { var replay; diff --git a/test/spec/ol/renderer/canvas/map.test.js b/test/spec/ol/renderer/canvas/map.test.js index c0ca55f322..5c0d8c44c5 100644 --- a/test/spec/ol/renderer/canvas/map.test.js +++ b/test/spec/ol/renderer/canvas/map.test.js @@ -10,7 +10,8 @@ goog.require('ol.layer.Vector'); goog.require('ol.renderer.canvas.Layer'); goog.require('ol.renderer.canvas.Map'); goog.require('ol.source.Vector'); - +goog.require('ol.style.Icon'); +goog.require('ol.style.Style'); describe('ol.renderer.canvas.Map', function() { diff --git a/test/spec/ol/renderer/canvas/replay.test.js b/test/spec/ol/renderer/canvas/replay.test.js index 65ddd21f59..c4118adb11 100644 --- a/test/spec/ol/renderer/canvas/replay.test.js +++ b/test/spec/ol/renderer/canvas/replay.test.js @@ -1,6 +1,6 @@ goog.provide('ol.test.renderer.canvas.Replay'); -goog.require('ol.transform'); +goog.require('ol'); goog.require('ol.Feature'); goog.require('ol.geom.Polygon'); goog.require('ol.render.canvas.LineStringReplay'); @@ -11,6 +11,7 @@ goog.require('ol.renderer.vector'); goog.require('ol.style.Fill'); goog.require('ol.style.Stroke'); goog.require('ol.style.Style'); +goog.require('ol.transform'); describe('ol.render.canvas.ReplayGroup', function() { diff --git a/test/spec/ol/renderer/canvas/tilelayer.test.js b/test/spec/ol/renderer/canvas/tilelayer.test.js index aa695b9546..bf23c3a97d 100644 --- a/test/spec/ol/renderer/canvas/tilelayer.test.js +++ b/test/spec/ol/renderer/canvas/tilelayer.test.js @@ -2,12 +2,13 @@ goog.provide('ol.test.renderer.canvas.TileLayer'); goog.require('ol.Map'); goog.require('ol.View'); -goog.require('ol.transform'); goog.require('ol.layer.Tile'); +goog.require('ol.proj'); goog.require('ol.renderer.Map'); goog.require('ol.renderer.canvas.TileLayer'); goog.require('ol.source.TileWMS'); goog.require('ol.source.XYZ'); +goog.require('ol.transform'); describe('ol.renderer.canvas.TileLayer', function() { diff --git a/test/spec/ol/renderer/canvas/vectortilelayer.test.js b/test/spec/ol/renderer/canvas/vectortilelayer.test.js index bceb61a5d6..5ef41ccb71 100644 --- a/test/spec/ol/renderer/canvas/vectortilelayer.test.js +++ b/test/spec/ol/renderer/canvas/vectortilelayer.test.js @@ -3,6 +3,8 @@ goog.provide('ol.test.renderer.canvas.VectorTileLayer'); goog.require('ol'); goog.require('ol.Feature'); goog.require('ol.Map'); +goog.require('ol.TileState'); +goog.require('ol.VectorImageTile'); goog.require('ol.VectorTile'); goog.require('ol.View'); goog.require('ol.format.MVT'); diff --git a/test/spec/ol/source/tile.test.js b/test/spec/ol/source/tile.test.js index 36fb5db22a..27c45ed03e 100644 --- a/test/spec/ol/source/tile.test.js +++ b/test/spec/ol/source/tile.test.js @@ -9,6 +9,48 @@ goog.require('ol.source.Source'); goog.require('ol.source.Tile'); goog.require('ol.tilegrid.TileGrid'); +/** + * Tile source for tests that uses a EPSG:4326 based grid with 4 resolutions and + * 256x256 tiles. + * + * @constructor + * @extends {ol.source.Tile} + * @param {Object.} tileStates Lookup of tile key to + * tile state. + */ +ol.test.source.TileSource.Mock = function(tileStates) { + var tileGrid = new ol.tilegrid.TileGrid({ + resolutions: [360 / 256, 180 / 256, 90 / 256, 45 / 256], + origin: [-180, -180], + tileSize: 256 + }); + + ol.source.Tile.call(this, { + projection: ol.proj.get('EPSG:4326'), + tileGrid: tileGrid + }); + + for (var key in tileStates) { + this.tileCache.set(key, new ol.Tile(key.split('/'), tileStates[key])); + } + +}; +ol.inherits(ol.test.source.TileSource.Mock, ol.source.Tile); + + +/** + * @inheritDoc + */ +ol.test.source.TileSource.Mock.prototype.getTile = function(z, x, y) { + var key = this.getKeyZXY(z, x, y); + if (this.tileCache.containsKey(key)) { + return /** @type {!ol.Tile} */ (this.tileCache.get(key)); + } else { + var tile = new ol.Tile(key, 0); // IDLE + this.tileCache.set(key, tile); + return tile; + } +}; describe('ol.source.Tile', function() { @@ -79,7 +121,7 @@ describe('ol.source.Tile', function() { }); it('does not call the callback if no tiles are loaded', function() { - var source = new ol.test.source.TileMock({}); + var source = new ol.test.source.TileSource.Mock({}); var grid = source.getTileGrid(); var extent = [-180, -180, 180, 180]; var zoom = 3; @@ -90,7 +132,7 @@ describe('ol.source.Tile', function() { }); it('does not call getTile() if no tiles are loaded', function() { - var source = new ol.test.source.TileMock({}); + var source = new ol.test.source.TileSource.Mock({}); sinon.spy(source, 'getTile'); var grid = source.getTileGrid(); var extent = [-180, -180, 180, 180]; @@ -104,7 +146,7 @@ describe('ol.source.Tile', function() { it('calls callback for each loaded tile', function() { - var source = new ol.test.source.TileMock({ + var source = new ol.test.source.TileSource.Mock({ '1/0/0': 2, // LOADED '1/0/1': 2, // LOADED '1/1/0': 1, // LOADING, @@ -120,7 +162,7 @@ describe('ol.source.Tile', function() { it('returns true if range is fully loaded', function() { // a source with no loaded tiles - var source = new ol.test.source.TileMock({ + var source = new ol.test.source.TileSource.Mock({ '1/0/0': 2, // LOADED, '1/0/1': 2, // LOADED, '1/1/0': 2, // LOADED, @@ -140,7 +182,7 @@ describe('ol.source.Tile', function() { it('returns false if range is not fully loaded', function() { // a source with no loaded tiles - var source = new ol.test.source.TileMock({ + var source = new ol.test.source.TileSource.Mock({ '1/0/0': 2, // LOADED, '1/0/1': 2, // LOADED, '1/1/0': 1, // LOADING, @@ -160,7 +202,7 @@ describe('ol.source.Tile', function() { it('allows callback to override loaded check', function() { // a source with no loaded tiles - var source = new ol.test.source.TileMock({ + var source = new ol.test.source.TileSource.Mock({ '1/0/0': 2, // LOADED, '1/0/1': 2, // LOADED, '1/1/0': 2, // LOADED, @@ -232,7 +274,7 @@ describe('ol.source.Tile', function() { describe('#refresh()', function() { it('checks clearing of internal state', function() { // create a source with one loaded tile - var source = new ol.test.source.TileMock({ + var source = new ol.test.source.TileSource.Mock({ '1/0/0': 2 // LOADED }); // check the loaded tile is there @@ -250,63 +292,19 @@ describe('ol.source.Tile', function() { }); -/** - * Tile source for tests that uses a EPSG:4326 based grid with 4 resolutions and - * 256x256 tiles. - * - * @constructor - * @extends {ol.source.Tile} - * @param {Object.} tileStates Lookup of tile key to - * tile state. - */ -ol.test.source.TileMock = function(tileStates) { - var tileGrid = new ol.tilegrid.TileGrid({ - resolutions: [360 / 256, 180 / 256, 90 / 256, 45 / 256], - origin: [-180, -180], - tileSize: 256 - }); - - ol.source.Tile.call(this, { - projection: ol.proj.get('EPSG:4326'), - tileGrid: tileGrid - }); - - for (var key in tileStates) { - this.tileCache.set(key, new ol.Tile(key.split('/'), tileStates[key])); - } - -}; -ol.inherits(ol.test.source.TileMock, ol.source.Tile); - - -/** - * @inheritDoc - */ -ol.test.source.TileMock.prototype.getTile = function(z, x, y) { - var key = this.getKeyZXY(z, x, y); - if (this.tileCache.containsKey(key)) { - return /** @type {!ol.Tile} */ (this.tileCache.get(key)); - } else { - var tile = new ol.Tile(key, 0); // IDLE - this.tileCache.set(key, tile); - return tile; - } -}; - - -describe('ol.test.source.TileMock', function() { +describe('ol.test.source.TileSource.Mock', function() { describe('constructor', function() { it('creates a tile source', function() { - var source = new ol.test.source.TileMock({}); + var source = new ol.test.source.TileSource.Mock({}); expect(source).to.be.a(ol.source.Tile); - expect(source).to.be.a(ol.test.source.TileMock); + expect(source).to.be.a(ol.test.source.TileSource.Mock); }); }); describe('#getTile()', function() { it('returns a tile with state based on constructor arg', function() { - var source = new ol.test.source.TileMock({ + var source = new ol.test.source.TileSource.Mock({ '0/0/0': 2, // LOADED, '1/0/0': 2 // LOADED }); diff --git a/test/spec/ol/source/vectortile.test.js b/test/spec/ol/source/vectortile.test.js index 1f5c2d06e4..771f3e3b32 100644 --- a/test/spec/ol/source/vectortile.test.js +++ b/test/spec/ol/source/vectortile.test.js @@ -1,6 +1,7 @@ goog.provide('ol.test.source.VectorTile'); goog.require('ol.VectorImageTile'); +goog.require('ol.VectorTile'); goog.require('ol.format.MVT'); goog.require('ol.proj'); goog.require('ol.source.VectorTile'); diff --git a/test/spec/ol/style/text.test.js b/test/spec/ol/style/text.test.js index 2897f1fc5a..8fa6b00faa 100644 --- a/test/spec/ol/style/text.test.js +++ b/test/spec/ol/style/text.test.js @@ -1,6 +1,7 @@ goog.provide('ol.test.style.Text'); goog.require('ol.style.Fill'); +goog.require('ol.style.Stroke'); goog.require('ol.style.Text'); diff --git a/test/spec/ol/tile.test.js b/test/spec/ol/tile.test.js index 2a8a40314b..ec3ab6ad76 100644 --- a/test/spec/ol/tile.test.js +++ b/test/spec/ol/tile.test.js @@ -1,5 +1,7 @@ goog.provide('ol.test.Tile'); +goog.require('ol'); +goog.require('ol.ImageTile'); goog.require('ol.TileState'); describe('ol.Tile', function() { diff --git a/test/spec/ol/tilequeue.test.js b/test/spec/ol/tilequeue.test.js index b1e8f194d8..d94ec27083 100644 --- a/test/spec/ol/tilequeue.test.js +++ b/test/spec/ol/tilequeue.test.js @@ -3,6 +3,7 @@ goog.provide('ol.test.TileQueue'); goog.require('ol.ImageTile'); goog.require('ol.Tile'); goog.require('ol.TileQueue'); +goog.require('ol.TileState'); goog.require('ol.source.Image'); goog.require('ol.structs.PriorityQueue'); diff --git a/test/spec/ol/vectorimagetile.test.js b/test/spec/ol/vectorimagetile.test.js index 6d7559f802..2dd6b229fd 100644 --- a/test/spec/ol/vectorimagetile.test.js +++ b/test/spec/ol/vectorimagetile.test.js @@ -1,10 +1,12 @@ goog.provide('ol.test.VectorImageTile'); -goog.require('ol.events'); +goog.require('ol.TileState'); goog.require('ol.VectorImageTile'); goog.require('ol.VectorTile'); +goog.require('ol.events'); goog.require('ol.format.GeoJSON'); goog.require('ol.proj'); +goog.require('ol.tilegrid'); describe('ol.VectorImageTile', function() { diff --git a/test/spec/ol/vectortile.test.js b/test/spec/ol/vectortile.test.js index b794ef0d90..9ad2d9f287 100644 --- a/test/spec/ol/vectortile.test.js +++ b/test/spec/ol/vectortile.test.js @@ -1,11 +1,12 @@ goog.provide('ol.test.VectorTile'); -goog.require('ol.events'); +goog.require('ol.Feature'); goog.require('ol.VectorImageTile'); goog.require('ol.VectorTile'); -goog.require('ol.Feature'); +goog.require('ol.events'); goog.require('ol.format.TextFeature'); goog.require('ol.proj'); +goog.require('ol.proj.Projection'); describe('ol.VectorTile', function() { diff --git a/test/spec/ol/view.test.js b/test/spec/ol/view.test.js index f57ec3141e..10cb9c1ddd 100644 --- a/test/spec/ol/view.test.js +++ b/test/spec/ol/view.test.js @@ -1,9 +1,11 @@ goog.provide('ol.test.View'); goog.require('ol'); +goog.require('ol.Map'); goog.require('ol.View'); goog.require('ol.ViewHint'); goog.require('ol.extent'); +goog.require('ol.geom.Circle'); goog.require('ol.geom.LineString'); goog.require('ol.geom.Point'); diff --git a/test/test-extensions.js b/test/test-extensions.js index 32b47d9b24..e72879dfae 100644 --- a/test/test-extensions.js +++ b/test/test-extensions.js @@ -1,3 +1,8 @@ +goog.require('ol.array'); +goog.require('ol.has'); +goog.require('ol.renderer.canvas.Map'); +goog.require('ol.renderer.webgl.Map'); + // FIXME remove afterLoadXml as it uses the wrong XML parser on IE9 // helper functions for async testing and other utility functions.