Add missing requires to tests

This commit is contained in:
Tim Schaub
2017-07-03 14:57:16 -06:00
parent 39cf0ee154
commit 46bcce464f
34 changed files with 141 additions and 102 deletions
-1
View File
@@ -3,7 +3,6 @@
"mocha": true "mocha": true
}, },
"rules": { "rules": {
"openlayers-internal/no-missing-requires": 0,
"openlayers-internal/valid-provide": 0 "openlayers-internal/valid-provide": 0
}, },
"globals": { "globals": {
+9 -7
View File
@@ -11,24 +11,22 @@ goog.require('ol.style.Fill');
goog.require('ol.style.Stroke'); goog.require('ol.style.Stroke');
goog.require('ol.style.Style'); goog.require('ol.style.Style');
function getContext() {
return document.createElement('canvas').getContext('2d');
}
describe('ol.render', function() { describe('ol.render', function() {
var context;
beforeEach(function() {
context = document.createElement('canvas').getContext('2d');
});
describe('ol.render.toContext()', function() { describe('ol.render.toContext()', function() {
it('creates a vector context from a Canvas 2d context', 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.VectorContext);
expect(vectorContext).to.be.a(ol.render.canvas.Immediate); expect(vectorContext).to.be.a(ol.render.canvas.Immediate);
}); });
it('can be used to render a point geometry', function(done) { it('can be used to render a point geometry', function(done) {
var context = getContext();
var vectorContext = ol.render.toContext(context, {size: [100, 100]}); var vectorContext = ol.render.toContext(context, {size: [100, 100]});
var style = new ol.style.Style({ 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) { it('can be used to render a linestring geometry', function(done) {
var context = getContext();
var vectorContext = ol.render.toContext(context, {size: [100, 100]}); var vectorContext = ol.render.toContext(context, {size: [100, 100]});
var style = new ol.style.Style({ var style = new ol.style.Style({
@@ -69,6 +68,7 @@ describe('ol.render', function() {
}); });
it('respects lineCap for linestring', function(done) { it('respects lineCap for linestring', function(done) {
var context = getContext();
var vectorContext = ol.render.toContext(context, {size: [100, 100]}); var vectorContext = ol.render.toContext(context, {size: [100, 100]});
var style = new ol.style.Style({ var style = new ol.style.Style({
@@ -90,6 +90,7 @@ describe('ol.render', function() {
}); });
it('respects lineJoin for linestring', function(done) { it('respects lineJoin for linestring', function(done) {
var context = getContext();
var vectorContext = ol.render.toContext(context, {size: [100, 100]}); var vectorContext = ol.render.toContext(context, {size: [100, 100]});
var style = new ol.style.Style({ 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) { it('can be used to render a polygon geometry', function(done) {
var context = getContext();
var vectorContext = ol.render.toContext(context, {size: [100, 100]}); var vectorContext = ol.render.toContext(context, {size: [100, 100]});
var style = new ol.style.Style({ var style = new ol.style.Style({
+7 -4
View File
@@ -1,6 +1,7 @@
goog.provide('ol.test.color'); goog.provide('ol.test.color');
goog.require('ol.color'); goog.require('ol.color');
goog.require('ol');
describe('ol.color', function() { describe('ol.color', function() {
@@ -57,7 +58,8 @@ describe('ol.color', function() {
}); });
after(function() { after(function() {
ol.color.fromStringInternal_.restore(); var spy = ol.color.fromStringInternal_;
spy.restore();
}); });
if (ol.ENABLE_NAMED_COLORS) { if (ol.ENABLE_NAMED_COLORS) {
@@ -119,11 +121,12 @@ describe('ol.color', function() {
}); });
it('caches parsed values', 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'); ol.color.fromString('aquamarine');
expect(ol.color.fromStringInternal_.callCount).to.be(count + 1); expect(spy.callCount).to.be(count + 1);
ol.color.fromString('aquamarine'); 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() { it('throws an error on invalid colors', function() {
+2
View File
@@ -1,10 +1,12 @@
goog.provide('ol.test.control.Attribution'); goog.provide('ol.test.control.Attribution');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.Tile');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.control.Attribution'); goog.require('ol.control.Attribution');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.source.Tile'); goog.require('ol.source.Tile');
goog.require('ol.tilegrid');
describe('ol.control.Attribution', function() { describe('ol.control.Attribution', function() {
+2 -2
View File
@@ -2,7 +2,7 @@ goog.provide('ol.test.events');
goog.require('ol.events'); goog.require('ol.events');
goog.require('ol.events.EventTarget'); goog.require('ol.events.EventTarget');
goog.require('ol');
describe('ol.events', function() { describe('ol.events', function() {
var add, remove, target; var add, remove, target;
@@ -53,7 +53,7 @@ describe('ol.events', function() {
var boundListener = ol.events.bindListener_(listenerObj); var boundListener = ol.events.bindListener_(listenerObj);
expect(listenerObj.boundListener).to.equal(boundListener); expect(listenerObj.boundListener).to.equal(boundListener);
boundListener(); boundListener();
ol.events.unlistenByKey.restore(); unlistenSpy.restore();
}); });
}); });
+3 -2
View File
@@ -1,16 +1,17 @@
goog.provide('ol.test.format.GML'); goog.provide('ol.test.format.GML');
goog.require('ol.Feature');
goog.require('ol.format.GML'); goog.require('ol.format.GML');
goog.require('ol.format.GML2'); goog.require('ol.format.GML2');
goog.require('ol.geom.LineString'); goog.require('ol.geom.LineString');
goog.require('ol.geom.LinearRing'); goog.require('ol.geom.LinearRing');
goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.MultiLineString'); goog.require('ol.geom.MultiLineString');
goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.MultiPolygon'); goog.require('ol.geom.MultiPolygon');
goog.require('ol.xml');
goog.require('ol.geom.Point'); goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon'); goog.require('ol.geom.Polygon');
goog.require('ol.proj'); goog.require('ol.proj');
goog.require('ol.xml');
var readGeometry = function(format, text, opt_options) { var readGeometry = function(format, text, opt_options) {
var doc = ol.xml.parse(text); var doc = ol.xml.parse(text);
+6 -4
View File
@@ -1,7 +1,7 @@
goog.provide('ol.test.format.KML'); goog.provide('ol.test.format.KML');
goog.require('ol.array');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.array');
goog.require('ol.format.GeoJSON'); goog.require('ol.format.GeoJSON');
goog.require('ol.format.KML'); goog.require('ol.format.KML');
goog.require('ol.geom.GeometryCollection'); goog.require('ol.geom.GeometryCollection');
@@ -12,12 +12,14 @@ goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.MultiPolygon'); goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Point'); goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon'); 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');
goog.require('ol.proj.Projection'); goog.require('ol.proj.Projection');
goog.require('ol.proj.transforms'); 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.Stroke');
goog.require('ol.style.Style'); goog.require('ol.style.Style');
goog.require('ol.style.Text'); goog.require('ol.style.Text');
+1
View File
@@ -4,6 +4,7 @@ goog.require('ol.Feature');
goog.require('ol.format.GML2'); goog.require('ol.format.GML2');
goog.require('ol.format.WFS'); goog.require('ol.format.WFS');
goog.require('ol.format.filter'); goog.require('ol.format.filter');
goog.require('ol.geom.LineString');
goog.require('ol.geom.MultiLineString'); goog.require('ol.geom.MultiLineString');
goog.require('ol.geom.MultiPoint'); goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.MultiPolygon'); goog.require('ol.geom.MultiPolygon');
+1 -1
View File
@@ -4,7 +4,7 @@ goog.require('ol.Graticule');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.proj'); goog.require('ol.proj');
goog.require('ol.style.Stroke'); goog.require('ol.style.Stroke');
goog.require('ol.style.Text');
describe('ol.Graticule', function() { describe('ol.Graticule', function() {
var graticule; var graticule;
@@ -4,6 +4,7 @@ goog.require('ol.Map');
goog.require('ol.MapBrowserPointerEvent'); goog.require('ol.MapBrowserPointerEvent');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.interaction.DragRotateAndZoom'); goog.require('ol.interaction.DragRotateAndZoom');
goog.require('ol.interaction.Interaction');
goog.require('ol.layer.Vector'); goog.require('ol.layer.Vector');
goog.require('ol.pointer.PointerEvent'); goog.require('ol.pointer.PointerEvent');
goog.require('ol.source.Vector'); goog.require('ol.source.Vector');
+3 -2
View File
@@ -1,11 +1,12 @@
goog.provide('ol.test.interaction.Draw'); goog.provide('ol.test.interaction.Draw');
goog.require('ol.array');
goog.require('ol.events');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.MapBrowserPointerEvent'); goog.require('ol.MapBrowserPointerEvent');
goog.require('ol.View'); 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.Circle');
goog.require('ol.geom.LineString'); goog.require('ol.geom.LineString');
goog.require('ol.geom.MultiLineString'); goog.require('ol.geom.MultiLineString');
+2 -2
View File
@@ -1,10 +1,10 @@
goog.provide('ol.test.interaction.Interaction'); goog.provide('ol.test.interaction.Interaction');
goog.require('ol.events.EventTarget');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.events.EventTarget');
goog.require('ol.interaction.Interaction'); goog.require('ol.interaction.Interaction');
describe('ol.interaction.Interaction', function() { describe('ol.interaction.Interaction', function() {
describe('constructor', function() { describe('constructor', function() {
+2 -1
View File
@@ -1,12 +1,13 @@
goog.provide('ol.test.interaction.Modify'); goog.provide('ol.test.interaction.Modify');
goog.require('ol.events');
goog.require('ol.Collection'); goog.require('ol.Collection');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.MapBrowserPointerEvent'); goog.require('ol.MapBrowserPointerEvent');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.events');
goog.require('ol.events.condition'); goog.require('ol.events.condition');
goog.require('ol.geom.Circle');
goog.require('ol.geom.LineString'); goog.require('ol.geom.LineString');
goog.require('ol.geom.Point'); goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon'); goog.require('ol.geom.Polygon');
+2 -1
View File
@@ -9,10 +9,11 @@ goog.require('ol.interaction');
goog.require('ol.interaction.DoubleClickZoom'); goog.require('ol.interaction.DoubleClickZoom');
goog.require('ol.interaction.Interaction'); goog.require('ol.interaction.Interaction');
goog.require('ol.interaction.MouseWheelZoom'); goog.require('ol.interaction.MouseWheelZoom');
goog.require('ol.interaction.PinchZoom');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.renderer.canvas.IntermediateCanvas');
goog.require('ol.source.XYZ'); goog.require('ol.source.XYZ');
describe('ol.Map', function() { describe('ol.Map', function() {
describe('constructor', function() { describe('constructor', function() {
+2 -2
View File
@@ -1,11 +1,11 @@
goog.provide('ol.test.MapBrowserEventHandler'); goog.provide('ol.test.MapBrowserEventHandler');
goog.require('ol.events');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.MapBrowserEventHandler'); goog.require('ol.MapBrowserEventHandler');
goog.require('ol.events');
goog.require('ol.has');
goog.require('ol.pointer.PointerEvent'); goog.require('ol.pointer.PointerEvent');
describe('ol.MapBrowserEventHandler', function() { describe('ol.MapBrowserEventHandler', function() {
describe('#emulateClick_', function() { describe('#emulateClick_', function() {
var clock; var clock;
+5 -4
View File
@@ -24,13 +24,14 @@ describe('ol.proj.transforms.remove()', function() {
return input; return input;
}; };
ol.proj.transforms.add(foo, bar, transform); ol.proj.transforms.add(foo, bar, transform);
expect(ol.proj.transforms.cache_).not.to.be(undefined); var cache = ol.proj.transforms.cache_;
expect(ol.proj.transforms.cache_.foo).not.to.be(undefined); expect(cache).not.to.be(undefined);
expect(ol.proj.transforms.cache_.foo.bar).to.be(transform); expect(cache.foo).not.to.be(undefined);
expect(cache.foo.bar).to.be(transform);
var removed = ol.proj.transforms.remove(foo, bar); var removed = ol.proj.transforms.remove(foo, bar);
expect(removed).to.be(transform); expect(removed).to.be(transform);
expect(ol.proj.transforms.cache_.foo).to.be(undefined); expect(cache.foo).to.be(undefined);
}); });
}); });
@@ -3,8 +3,9 @@ goog.provide('ol.test.render.webgl.CircleReplay');
goog.require('ol'); goog.require('ol');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.geom.Circle'); goog.require('ol.geom.Circle');
goog.require('ol.render.webgl.circlereplay.defaultshader');
goog.require('ol.render.webgl.CircleReplay'); 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.Fill');
goog.require('ol.style.Stroke'); goog.require('ol.style.Stroke');
+7 -5
View File
@@ -1,15 +1,17 @@
goog.provide('ol.test.render.webgl.Immediate'); 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.Circle');
goog.require('ol.geom.Point'); goog.require('ol.geom.GeometryCollection');
goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.LineString'); goog.require('ol.geom.LineString');
goog.require('ol.geom.MultiLineString'); goog.require('ol.geom.MultiLineString');
goog.require('ol.geom.Polygon'); goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.MultiPolygon'); 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.CircleReplay');
goog.require('ol.render.webgl.ImageReplay');
goog.require('ol.render.webgl.Immediate');
goog.require('ol.render.webgl.LineStringReplay'); goog.require('ol.render.webgl.LineStringReplay');
goog.require('ol.render.webgl.PolygonReplay'); goog.require('ol.render.webgl.PolygonReplay');
goog.require('ol.style.Circle'); goog.require('ol.style.Circle');
@@ -4,8 +4,9 @@ goog.require('ol');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.geom.LineString'); goog.require('ol.geom.LineString');
goog.require('ol.geom.MultiLineString'); goog.require('ol.geom.MultiLineString');
goog.require('ol.render.webgl.linestringreplay.defaultshader');
goog.require('ol.render.webgl.LineStringReplay'); 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'); goog.require('ol.style.Stroke');
describe('ol.render.webgl.LineStringReplay', function() { describe('ol.render.webgl.LineStringReplay', function() {
@@ -4,8 +4,9 @@ goog.require('ol');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.geom.MultiPolygon'); goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Polygon'); goog.require('ol.geom.Polygon');
goog.require('ol.render.webgl.polygonreplay.defaultshader');
goog.require('ol.render.webgl.PolygonReplay'); 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.LinkedList');
goog.require('ol.structs.RBush'); goog.require('ol.structs.RBush');
goog.require('ol.style.Fill'); goog.require('ol.style.Fill');
@@ -2,6 +2,7 @@ goog.provide('ol.test.render.webgl.TextureReplay');
goog.require('ol.render.webgl.TextureReplay'); goog.require('ol.render.webgl.TextureReplay');
goog.require('ol.render.webgl.texturereplay.defaultshader'); goog.require('ol.render.webgl.texturereplay.defaultshader');
goog.require('ol.render.webgl.texturereplay.defaultshader.Locations');
describe('ol.render.webgl.TextureReplay', function() { describe('ol.render.webgl.TextureReplay', function() {
var replay; var replay;
+2 -1
View File
@@ -10,7 +10,8 @@ goog.require('ol.layer.Vector');
goog.require('ol.renderer.canvas.Layer'); goog.require('ol.renderer.canvas.Layer');
goog.require('ol.renderer.canvas.Map'); goog.require('ol.renderer.canvas.Map');
goog.require('ol.source.Vector'); goog.require('ol.source.Vector');
goog.require('ol.style.Icon');
goog.require('ol.style.Style');
describe('ol.renderer.canvas.Map', function() { describe('ol.renderer.canvas.Map', function() {
+2 -1
View File
@@ -1,6 +1,6 @@
goog.provide('ol.test.renderer.canvas.Replay'); goog.provide('ol.test.renderer.canvas.Replay');
goog.require('ol.transform'); goog.require('ol');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.geom.Polygon'); goog.require('ol.geom.Polygon');
goog.require('ol.render.canvas.LineStringReplay'); goog.require('ol.render.canvas.LineStringReplay');
@@ -11,6 +11,7 @@ goog.require('ol.renderer.vector');
goog.require('ol.style.Fill'); goog.require('ol.style.Fill');
goog.require('ol.style.Stroke'); goog.require('ol.style.Stroke');
goog.require('ol.style.Style'); goog.require('ol.style.Style');
goog.require('ol.transform');
describe('ol.render.canvas.ReplayGroup', function() { describe('ol.render.canvas.ReplayGroup', function() {
@@ -2,12 +2,13 @@ goog.provide('ol.test.renderer.canvas.TileLayer');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.transform');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.renderer.Map'); goog.require('ol.renderer.Map');
goog.require('ol.renderer.canvas.TileLayer'); goog.require('ol.renderer.canvas.TileLayer');
goog.require('ol.source.TileWMS'); goog.require('ol.source.TileWMS');
goog.require('ol.source.XYZ'); goog.require('ol.source.XYZ');
goog.require('ol.transform');
describe('ol.renderer.canvas.TileLayer', function() { describe('ol.renderer.canvas.TileLayer', function() {
@@ -3,6 +3,8 @@ goog.provide('ol.test.renderer.canvas.VectorTileLayer');
goog.require('ol'); goog.require('ol');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.TileState');
goog.require('ol.VectorImageTile');
goog.require('ol.VectorTile'); goog.require('ol.VectorTile');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.format.MVT'); goog.require('ol.format.MVT');
+53 -55
View File
@@ -9,6 +9,48 @@ goog.require('ol.source.Source');
goog.require('ol.source.Tile'); goog.require('ol.source.Tile');
goog.require('ol.tilegrid.TileGrid'); 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.<string, ol.TileState>} 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() { 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() { 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 grid = source.getTileGrid();
var extent = [-180, -180, 180, 180]; var extent = [-180, -180, 180, 180];
var zoom = 3; var zoom = 3;
@@ -90,7 +132,7 @@ describe('ol.source.Tile', function() {
}); });
it('does not call getTile() if no tiles are loaded', 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'); sinon.spy(source, 'getTile');
var grid = source.getTileGrid(); var grid = source.getTileGrid();
var extent = [-180, -180, 180, 180]; var extent = [-180, -180, 180, 180];
@@ -104,7 +146,7 @@ describe('ol.source.Tile', function() {
it('calls callback for each loaded 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/0': 2, // LOADED
'1/0/1': 2, // LOADED '1/0/1': 2, // LOADED
'1/1/0': 1, // LOADING, '1/1/0': 1, // LOADING,
@@ -120,7 +162,7 @@ describe('ol.source.Tile', function() {
it('returns true if range is fully loaded', function() { it('returns true if range is fully loaded', function() {
// a source with no loaded tiles // 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/0': 2, // LOADED,
'1/0/1': 2, // LOADED, '1/0/1': 2, // LOADED,
'1/1/0': 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() { it('returns false if range is not fully loaded', function() {
// a source with no loaded tiles // 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/0': 2, // LOADED,
'1/0/1': 2, // LOADED, '1/0/1': 2, // LOADED,
'1/1/0': 1, // LOADING, '1/1/0': 1, // LOADING,
@@ -160,7 +202,7 @@ describe('ol.source.Tile', function() {
it('allows callback to override loaded check', function() { it('allows callback to override loaded check', function() {
// a source with no loaded tiles // 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/0': 2, // LOADED,
'1/0/1': 2, // LOADED, '1/0/1': 2, // LOADED,
'1/1/0': 2, // LOADED, '1/1/0': 2, // LOADED,
@@ -232,7 +274,7 @@ describe('ol.source.Tile', function() {
describe('#refresh()', function() { describe('#refresh()', function() {
it('checks clearing of internal state', function() { it('checks clearing of internal state', function() {
// create a source with one loaded tile // 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 '1/0/0': 2 // LOADED
}); });
// check the loaded tile is there // check the loaded tile is there
@@ -250,63 +292,19 @@ describe('ol.source.Tile', function() {
}); });
/** describe('ol.test.source.TileSource.Mock', 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.<string, ol.TileState>} 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('constructor', function() { describe('constructor', function() {
it('creates a tile source', 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.source.Tile);
expect(source).to.be.a(ol.test.source.TileMock); expect(source).to.be.a(ol.test.source.TileSource.Mock);
}); });
}); });
describe('#getTile()', function() { describe('#getTile()', function() {
it('returns a tile with state based on constructor arg', 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, '0/0/0': 2, // LOADED,
'1/0/0': 2 // LOADED '1/0/0': 2 // LOADED
}); });
+1
View File
@@ -1,6 +1,7 @@
goog.provide('ol.test.source.VectorTile'); goog.provide('ol.test.source.VectorTile');
goog.require('ol.VectorImageTile'); goog.require('ol.VectorImageTile');
goog.require('ol.VectorTile');
goog.require('ol.format.MVT'); goog.require('ol.format.MVT');
goog.require('ol.proj'); goog.require('ol.proj');
goog.require('ol.source.VectorTile'); goog.require('ol.source.VectorTile');
+1
View File
@@ -1,6 +1,7 @@
goog.provide('ol.test.style.Text'); goog.provide('ol.test.style.Text');
goog.require('ol.style.Fill'); goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Text'); goog.require('ol.style.Text');
+2
View File
@@ -1,5 +1,7 @@
goog.provide('ol.test.Tile'); goog.provide('ol.test.Tile');
goog.require('ol');
goog.require('ol.ImageTile');
goog.require('ol.TileState'); goog.require('ol.TileState');
describe('ol.Tile', function() { describe('ol.Tile', function() {
+1
View File
@@ -3,6 +3,7 @@ goog.provide('ol.test.TileQueue');
goog.require('ol.ImageTile'); goog.require('ol.ImageTile');
goog.require('ol.Tile'); goog.require('ol.Tile');
goog.require('ol.TileQueue'); goog.require('ol.TileQueue');
goog.require('ol.TileState');
goog.require('ol.source.Image'); goog.require('ol.source.Image');
goog.require('ol.structs.PriorityQueue'); goog.require('ol.structs.PriorityQueue');
+3 -1
View File
@@ -1,10 +1,12 @@
goog.provide('ol.test.VectorImageTile'); goog.provide('ol.test.VectorImageTile');
goog.require('ol.events'); goog.require('ol.TileState');
goog.require('ol.VectorImageTile'); goog.require('ol.VectorImageTile');
goog.require('ol.VectorTile'); goog.require('ol.VectorTile');
goog.require('ol.events');
goog.require('ol.format.GeoJSON'); goog.require('ol.format.GeoJSON');
goog.require('ol.proj'); goog.require('ol.proj');
goog.require('ol.tilegrid');
describe('ol.VectorImageTile', function() { describe('ol.VectorImageTile', function() {
+3 -2
View File
@@ -1,11 +1,12 @@
goog.provide('ol.test.VectorTile'); goog.provide('ol.test.VectorTile');
goog.require('ol.events'); goog.require('ol.Feature');
goog.require('ol.VectorImageTile'); goog.require('ol.VectorImageTile');
goog.require('ol.VectorTile'); goog.require('ol.VectorTile');
goog.require('ol.Feature'); goog.require('ol.events');
goog.require('ol.format.TextFeature'); goog.require('ol.format.TextFeature');
goog.require('ol.proj'); goog.require('ol.proj');
goog.require('ol.proj.Projection');
describe('ol.VectorTile', function() { describe('ol.VectorTile', function() {
+2
View File
@@ -1,9 +1,11 @@
goog.provide('ol.test.View'); goog.provide('ol.test.View');
goog.require('ol'); goog.require('ol');
goog.require('ol.Map');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.ViewHint'); goog.require('ol.ViewHint');
goog.require('ol.extent'); goog.require('ol.extent');
goog.require('ol.geom.Circle');
goog.require('ol.geom.LineString'); goog.require('ol.geom.LineString');
goog.require('ol.geom.Point'); goog.require('ol.geom.Point');
+5
View File
@@ -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 // FIXME remove afterLoadXml as it uses the wrong XML parser on IE9
// helper functions for async testing and other utility functions. // helper functions for async testing and other utility functions.