More test cleanup

This commit is contained in:
Tim Schaub
2017-07-03 15:39:02 -06:00
parent a2c043d1b4
commit 3bdddeac1d
14 changed files with 219 additions and 285 deletions

View File

@@ -11,13 +11,11 @@ goog.require('ol.tilegrid');
describe('ol.rendering.layer.Image', function() { describe('ol.rendering.layer.Image', function() {
var target, map; var map;
function createMap(renderer) { function createMap(renderer) {
target = createMapDiv(50, 50);
map = new ol.Map({ map = new ol.Map({
target: target, target: createMapDiv(50, 50),
renderer: renderer, renderer: renderer,
view: new ol.View({ view: new ol.View({
center: ol.proj.transform( center: ol.proj.transform(
@@ -25,9 +23,15 @@ describe('ol.rendering.layer.Image', function() {
zoom: 5 zoom: 5
}) })
}); });
return map;
} }
afterEach(function() {
if (map) {
disposeMap(map);
}
map = null;
});
function waitForImages(sources, layerOptions, onImagesLoaded) { function waitForImages(sources, layerOptions, onImagesLoaded) {
var imagesLoading = 0; var imagesLoading = 0;
var imagesLoaded = 0; var imagesLoaded = 0;
@@ -70,12 +74,8 @@ describe('ol.rendering.layer.Image', function() {
}); });
}); });
afterEach(function() {
disposeMap(map);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
waitForImages([source], {}, function() { waitForImages([source], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/image-canvas.png', expectResemble(map, 'rendering/ol/layer/expected/image-canvas.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -84,7 +84,7 @@ describe('ol.rendering.layer.Image', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
waitForImages([source], {}, function() { waitForImages([source], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/image-webgl.png', expectResemble(map, 'rendering/ol/layer/expected/image-webgl.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -103,12 +103,8 @@ describe('ol.rendering.layer.Image', function() {
}); });
}); });
afterEach(function() {
disposeMap(map);
});
it('renders correctly', function(done) { it('renders correctly', function(done) {
map = createMap('canvas'); createMap('canvas');
waitForImages([source], {}, function() { waitForImages([source], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/image-scaled.png', expectResemble(map, 'rendering/ol/layer/expected/image-scaled.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);

View File

@@ -17,15 +17,14 @@ goog.require('ol.tilegrid');
describe('ol.rendering.layer.Tile', function() { describe('ol.rendering.layer.Tile', function() {
var target, map; var map;
function createMap(renderer, opt_center, opt_size, opt_pixelRatio, opt_resolutions) { function createMap(renderer, opt_center, opt_size, opt_pixelRatio, opt_resolutions) {
var size = opt_size !== undefined ? opt_size : [50, 50]; var size = opt_size !== undefined ? opt_size : [50, 50];
target = createMapDiv(size[0], size[1]);
map = new ol.Map({ map = new ol.Map({
pixelRatio: opt_pixelRatio || 1, pixelRatio: opt_pixelRatio || 1,
target: target, target: createMapDiv(size[0], size[1]),
renderer: renderer, renderer: renderer,
view: new ol.View({ view: new ol.View({
center: opt_center !== undefined ? opt_center : ol.proj.transform( center: opt_center !== undefined ? opt_center : ol.proj.transform(
@@ -34,9 +33,15 @@ describe('ol.rendering.layer.Tile', function() {
zoom: 5 zoom: 5
}) })
}); });
return map;
} }
afterEach(function() {
if (map) {
disposeMap(map);
}
map = null;
});
function waitForTiles(sources, layerOptions, onTileLoaded) { function waitForTiles(sources, layerOptions, onTileLoaded) {
var tilesLoading = 0; var tilesLoading = 0;
var tileLoaded = 0; var tileLoaded = 0;
@@ -76,12 +81,8 @@ describe('ol.rendering.layer.Tile', function() {
}); });
}); });
afterEach(function() {
disposeMap(map);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
waitForTiles([source], {}, function() { waitForTiles([source], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/osm-canvas.png', expectResemble(map, 'rendering/ol/layer/expected/osm-canvas.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -90,7 +91,7 @@ describe('ol.rendering.layer.Tile', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
waitForTiles([source], {}, function() { waitForTiles([source], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/osm-webgl.png', expectResemble(map, 'rendering/ol/layer/expected/osm-webgl.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -110,12 +111,8 @@ describe('ol.rendering.layer.Tile', function() {
}); });
}); });
afterEach(function() {
disposeMap(map);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
waitForTiles([source1, source2], {}, function() { waitForTiles([source1, source2], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas.png', expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -124,7 +121,7 @@ describe('ol.rendering.layer.Tile', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
waitForTiles([source1, source2], {}, function() { waitForTiles([source1, source2], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/2-layers-webgl.png', expectResemble(map, 'rendering/ol/layer/expected/2-layers-webgl.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -139,7 +136,7 @@ describe('ol.rendering.layer.Tile', function() {
} }
it('tests canvas layer extent clipping', function(done) { it('tests canvas layer extent clipping', function(done) {
map = createMap('canvas'); createMap('canvas');
waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() { waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() {
expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas-extent.png', expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas-extent.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -147,7 +144,7 @@ describe('ol.rendering.layer.Tile', function() {
}); });
it('tests canvas layer extent clipping with rotation', function(done) { it('tests canvas layer extent clipping with rotation', function(done) {
map = createMap('canvas'); createMap('canvas');
map.getView().setRotation(Math.PI / 2); map.getView().setRotation(Math.PI / 2);
waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() { waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() {
expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas-extent-rotate.png', expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas-extent-rotate.png',
@@ -156,7 +153,7 @@ describe('ol.rendering.layer.Tile', function() {
}); });
it('tests canvas layer extent clipping (HiDPI)', function(done) { it('tests canvas layer extent clipping (HiDPI)', function(done) {
map = createMap('canvas', undefined, undefined, 2); createMap('canvas', undefined, undefined, 2);
waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() { waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() {
expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas-extent-hidpi.png', expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas-extent-hidpi.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -164,7 +161,7 @@ describe('ol.rendering.layer.Tile', function() {
}); });
it('tests canvas layer extent clipping with rotation (HiDPI)', function(done) { it('tests canvas layer extent clipping with rotation (HiDPI)', function(done) {
map = createMap('canvas', undefined, undefined, 2); createMap('canvas', undefined, undefined, 2);
map.getView().setRotation(Math.PI / 2); map.getView().setRotation(Math.PI / 2);
waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() { waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() {
expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas-extent-rotate-hidpi.png', expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas-extent-rotate-hidpi.png',
@@ -183,12 +180,8 @@ describe('ol.rendering.layer.Tile', function() {
}); });
}); });
afterEach(function() {
disposeMap(map);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
waitForTiles([source], {opacity: 0.2}, function() { waitForTiles([source], {opacity: 0.2}, function() {
expectResemble(map, 'rendering/ol/layer/expected/opacity-canvas.png', expectResemble(map, 'rendering/ol/layer/expected/opacity-canvas.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -197,7 +190,7 @@ describe('ol.rendering.layer.Tile', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
waitForTiles([source], {opacity: 0.2}, function() { waitForTiles([source], {opacity: 0.2}, function() {
expectResemble(map, 'rendering/ol/layer/expected/opacity-webgl.png', expectResemble(map, 'rendering/ol/layer/expected/opacity-webgl.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -216,13 +209,9 @@ describe('ol.rendering.layer.Tile', function() {
}); });
} }
afterEach(function() {
disposeMap(map);
});
it('512x256 renders correcly using the canvas renderer', function(done) { it('512x256 renders correcly using the canvas renderer', function(done) {
var source = createSource('512x256'); var source = createSource('512x256');
map = createMap('canvas', [-10997148, 4569099]); createMap('canvas', [-10997148, 4569099]);
waitForTiles([source], {}, function() { waitForTiles([source], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/512x256-canvas.png', expectResemble(map, 'rendering/ol/layer/expected/512x256-canvas.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -232,7 +221,7 @@ describe('ol.rendering.layer.Tile', function() {
where('WebGL').it('512x256 renders correcly using the webgl renderer', function(done) { where('WebGL').it('512x256 renders correcly using the webgl renderer', function(done) {
assertWebGL(); assertWebGL();
var source = createSource('512x256'); var source = createSource('512x256');
map = createMap('webgl', [-10997148, 4569099]); createMap('webgl', [-10997148, 4569099]);
waitForTiles([source], {}, function() { waitForTiles([source], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/512x256-webgl.png', expectResemble(map, 'rendering/ol/layer/expected/512x256-webgl.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -241,7 +230,7 @@ describe('ol.rendering.layer.Tile', function() {
it('192x256 renders correcly using the canvas renderer', function(done) { it('192x256 renders correcly using the canvas renderer', function(done) {
var source = createSource('192x256'); var source = createSource('192x256');
map = createMap('canvas', [-11271098, 3747248], [100, 100], undefined, createMap('canvas', [-11271098, 3747248], [100, 100], undefined,
source.getTileGrid().getResolutions()); source.getTileGrid().getResolutions());
waitForTiles([source], {}, function() { waitForTiles([source], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/192x256-canvas.png', expectResemble(map, 'rendering/ol/layer/expected/192x256-canvas.png',
@@ -252,7 +241,7 @@ describe('ol.rendering.layer.Tile', function() {
where('WebGL').it('192x256 renders correcly using the webgl renderer', function(done) { where('WebGL').it('192x256 renders correcly using the webgl renderer', function(done) {
assertWebGL(); assertWebGL();
var source = createSource('192x256'); var source = createSource('192x256');
map = createMap('webgl', [-11271098, 3747248], [100, 100], undefined, createMap('webgl', [-11271098, 3747248], [100, 100], undefined,
source.getTileGrid().getResolutions()); source.getTileGrid().getResolutions());
waitForTiles([source], {}, function() { waitForTiles([source], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/192x256-webgl.png', expectResemble(map, 'rendering/ol/layer/expected/192x256-webgl.png',
@@ -282,12 +271,8 @@ describe('ol.rendering.layer.Tile', function() {
}; };
}); });
afterEach(function() {
disposeMap(map);
});
it('works with the canvas renderer', function(done) { it('works with the canvas renderer', function(done) {
map = createMap('canvas', undefined, [100, 100]); createMap('canvas', undefined, [100, 100]);
map.getLayers().on('add', onAddLayer); map.getLayers().on('add', onAddLayer);
waitForTiles([source], {}, function() { waitForTiles([source], {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/render-canvas.png', expectResemble(map, 'rendering/ol/layer/expected/render-canvas.png',

View File

@@ -16,23 +16,27 @@ goog.require('ol.style.Style');
describe('ol.rendering.layer.Vector', function() { describe('ol.rendering.layer.Vector', function() {
var center, target, map; var center = [1825927.7316762917, 6143091.089223046];
var map;
function createMap(renderer) { function createMap(renderer) {
target = createMapDiv(80, 80);
center = [1825927.7316762917, 6143091.089223046];
map = new ol.Map({ map = new ol.Map({
target: target, target: createMapDiv(80, 80),
renderer: renderer, renderer: renderer,
view: new ol.View({ view: new ol.View({
center: center, center: center,
zoom: 13 zoom: 13
}) })
}); });
return map;
} }
afterEach(function() {
if (map) {
disposeMap(map);
}
map = null;
});
var source; var source;
function addCircle(r) { function addCircle(r) {
@@ -67,12 +71,8 @@ describe('ol.rendering.layer.Vector', function() {
source = new ol.source.Vector(); source = new ol.source.Vector();
}); });
afterEach(function() {
disposeMap(map);
});
it('renders opacity correctly with the canvas renderer', function(done) { it('renders opacity correctly with the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
var smallLine = new ol.Feature(new ol.geom.LineString([ var smallLine = new ol.Feature(new ol.geom.LineString([
[center[0], center[1] - 1], [center[0], center[1] - 1],
[center[0], center[1] + 1] [center[0], center[1] + 1]
@@ -137,7 +137,7 @@ describe('ol.rendering.layer.Vector', function() {
}); });
it('renders rotation correctly with the canvas renderer', function(done) { it('renders rotation correctly with the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
map.getView().setRotation(Math.PI + Math.PI / 4); map.getView().setRotation(Math.PI + Math.PI / 4);
addPolygon(300); addPolygon(300);
addCircle(500); addCircle(500);
@@ -157,7 +157,7 @@ describe('ol.rendering.layer.Vector', function() {
}); });
it('renders fill/stroke batches correctly with the canvas renderer', function(done) { it('renders fill/stroke batches correctly with the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
source = new ol.source.Vector({ source = new ol.source.Vector({
overlaps: false overlaps: false
}); });
@@ -183,7 +183,7 @@ describe('ol.rendering.layer.Vector', function() {
}); });
it('renders stroke batches correctly with the canvas renderer', function(done) { it('renders stroke batches correctly with the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
source = new ol.source.Vector({ source = new ol.source.Vector({
overlaps: false overlaps: false
}); });
@@ -207,7 +207,7 @@ describe('ol.rendering.layer.Vector', function() {
}); });
it('interrupts fill/stroke batches correctly with the canvas renderer', function(done) { it('interrupts fill/stroke batches correctly with the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
var color; var color;
function createSource(overlaps) { function createSource(overlaps) {
color = '#3399CC'; color = '#3399CC';
@@ -260,7 +260,7 @@ describe('ol.rendering.layer.Vector', function() {
}); });
it('interrupts stroke batches correctly with the canvas renderer', function(done) { it('interrupts stroke batches correctly with the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
var color; var color;
function createSource(overlaps) { function createSource(overlaps) {
color = '#3399CC'; color = '#3399CC';
@@ -313,9 +313,9 @@ describe('ol.rendering.layer.Vector', function() {
describe('polygon rendering', function() { describe('polygon rendering', function() {
var map; var map2;
beforeEach(function() { beforeEach(function() {
map = new ol.Map({ map2 = new ol.Map({
target: createMapDiv(128, 128), target: createMapDiv(128, 128),
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
@@ -325,7 +325,8 @@ describe('ol.rendering.layer.Vector', function() {
}); });
afterEach(function() { afterEach(function() {
disposeMap(map); disposeMap(map2);
map2 = null;
}); });
it('renders a feature that spans the world', function(done) { it('renders a feature that spans the world', function(done) {
@@ -359,10 +360,10 @@ describe('ol.rendering.layer.Vector', function() {
}) })
}); });
map.addLayer(layer); map2.addLayer(layer);
map.once('postrender', function() { map2.once('postrender', function() {
expectResemble(map, 'rendering/ol/layer/expected/inverted-star.png', 1, done); expectResemble(map2, 'rendering/ol/layer/expected/inverted-star.png', 1, done);
}); });
}); });
@@ -371,7 +372,7 @@ describe('ol.rendering.layer.Vector', function() {
describe('Polygon simplification', function() { describe('Polygon simplification', function() {
var layer, map; var layer, map3;
beforeEach(function() { beforeEach(function() {
var src = new ol.source.Vector({ var src = new ol.source.Vector({
@@ -402,7 +403,7 @@ describe('ol.rendering.layer.Vector', function() {
projection: 'EPSG:4326' projection: 'EPSG:4326'
}); });
map = new ol.Map({ map3 = new ol.Map({
layers: [layer], layers: [layer],
target: createMapDiv(100, 100), target: createMapDiv(100, 100),
view: view view: view
@@ -410,7 +411,8 @@ describe('ol.rendering.layer.Vector', function() {
}); });
afterEach(function() { afterEach(function() {
disposeMap(map); disposeMap(map3);
map3 = null;
}); });
it('renders partially out-of-view polygons with a fill and stroke', function(done) { it('renders partially out-of-view polygons with a fill and stroke', function(done) {
@@ -423,8 +425,8 @@ describe('ol.rendering.layer.Vector', function() {
color: [255, 0, 0, 1] color: [255, 0, 0, 1]
}) })
})); }));
map.once('postrender', function() { map3.once('postrender', function() {
expectResemble(map, 'rendering/ol/layer/expected/vector-canvas-simplified.png', expectResemble(map3, 'rendering/ol/layer/expected/vector-canvas-simplified.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
}); });
}); });
@@ -435,8 +437,8 @@ describe('ol.rendering.layer.Vector', function() {
color: [0, 0, 0, 1] color: [0, 0, 0, 1]
}) })
})); }));
map.once('postrender', function() { map3.once('postrender', function() {
expectResemble(map, 'rendering/ol/layer/expected/vector-canvas-simplified-fill.png', expectResemble(map3, 'rendering/ol/layer/expected/vector-canvas-simplified-fill.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
}); });
}); });
@@ -448,8 +450,8 @@ describe('ol.rendering.layer.Vector', function() {
width: 2 width: 2
}) })
})); }));
map.once('postrender', function() { map3.once('postrender', function() {
expectResemble(map, 'rendering/ol/layer/expected/vector-canvas-simplified-stroke.png', expectResemble(map3, 'rendering/ol/layer/expected/vector-canvas-simplified-stroke.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
}); });
}); });

View File

@@ -11,23 +11,25 @@ goog.require('ol.tilegrid');
describe('ol.rendering.layer.VectorTile', function() { describe('ol.rendering.layer.VectorTile', function() {
var target, map; var map;
function createMap(renderer, opt_pixelRatio) { function createMap(renderer, opt_pixelRatio) {
target = createMapDiv(50, 50);
map = new ol.Map({ map = new ol.Map({
pixelRatio: opt_pixelRatio, pixelRatio: opt_pixelRatio,
target: target, target: createMapDiv(50, 50),
renderer: renderer, renderer: renderer,
view: new ol.View({ view: new ol.View({
center: [1825927.7316762917, 6143091.089223046], center: [1825927.7316762917, 6143091.089223046],
zoom: 14 zoom: 14
}) })
}); });
return map;
} }
afterEach(function() {
disposeMap(map);
map = null;
});
function waitForTiles(source, layerOptions, onTileLoaded) { function waitForTiles(source, layerOptions, onTileLoaded) {
var tilesLoading = 0; var tilesLoading = 0;
var tileLoaded = 0; var tileLoaded = 0;
@@ -68,29 +70,25 @@ describe('ol.rendering.layer.VectorTile', function() {
}); });
}); });
afterEach(function() {
disposeMap(map);
});
it('renders correctly with the canvas renderer', function(done) { it('renders correctly with the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
waitForTiles(source, {}, function() { waitForTiles(source, {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/vectortile-canvas.png', expectResemble(map, 'rendering/ol/layer/expected/vectortile-canvas.png',
11.7, done); 22, done);
}); });
}); });
it('renders rotated view correctly with the canvas renderer', function(done) { it('renders rotated view correctly with the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
map.getView().setRotation(Math.PI / 4); map.getView().setRotation(Math.PI / 4);
waitForTiles(source, {}, function() { waitForTiles(source, {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/vectortile-canvas-rotated.png', expectResemble(map, 'rendering/ol/layer/expected/vectortile-canvas-rotated.png',
13.4, done); 14, done);
}); });
}); });
it('renders correctly with the canvas renderer (HiDPI)', function(done) { it('renders correctly with the canvas renderer (HiDPI)', function(done) {
map = createMap('canvas', 2); createMap('canvas', 2);
waitForTiles(source, {}, function() { waitForTiles(source, {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/vectortile-canvas-hidpi.png', expectResemble(map, 'rendering/ol/layer/expected/vectortile-canvas-hidpi.png',
11.3, done); 11.3, done);
@@ -98,7 +96,7 @@ describe('ol.rendering.layer.VectorTile', function() {
}); });
it('renders rotated view correctly with the canvas renderer (HiDPI)', function(done) { it('renders rotated view correctly with the canvas renderer (HiDPI)', function(done) {
map = createMap('canvas', 2); createMap('canvas', 2);
map.getView().setRotation(Math.PI / 4); map.getView().setRotation(Math.PI / 4);
waitForTiles(source, {}, function() { waitForTiles(source, {}, function() {
expectResemble(map, 'rendering/ol/layer/expected/vectortile-canvas-rotated-hidpi.png', expectResemble(map, 'rendering/ol/layer/expected/vectortile-canvas-rotated-hidpi.png',

View File

@@ -10,11 +10,8 @@ goog.require('ol.source.Vector');
describe('ol.rendering.Map', function() { describe('ol.rendering.Map', function() {
var target, map; var map;
function createMap(renderer) { function createMap(renderer) {
target = createMapDiv(50, 50);
var vectorLayer = new ol.layer.Vector({ var vectorLayer = new ol.layer.Vector({
source: new ol.source.Vector({ source: new ol.source.Vector({
features: [new ol.Feature({ features: [new ol.Feature({
@@ -24,7 +21,7 @@ describe('ol.rendering.Map', function() {
}); });
map = new ol.Map({ map = new ol.Map({
target: target, target: createMapDiv(50, 50),
renderer: renderer, renderer: renderer,
layers: [vectorLayer], layers: [vectorLayer],
view: new ol.View({ view: new ol.View({
@@ -33,34 +30,19 @@ describe('ol.rendering.Map', function() {
resolution: 1 resolution: 1
}) })
}); });
return map;
} }
describe('#updateSize()', function() { afterEach(function() {
var map, target; if (map) {
disposeMap(map);
function createMap(renderer) {
target = document.createElement('div');
document.body.appendChild(target);
map = new ol.Map({
renderer: renderer,
controls: [],
target: target,
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
return map;
} }
map = null;
});
afterEach(function() { describe('#updateSize()', function() {
map.setTarget(null);
document.body.removeChild(target);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
map.once('postrender', function() { map.once('postrender', function() {
var initialSize = map.getSize(); var initialSize = map.getSize();
map.updateSize(); map.updateSize();
@@ -71,7 +53,7 @@ describe('ol.rendering.Map', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
map.once('postrender', function() { map.once('postrender', function() {
var initialSize = map.getSize(); var initialSize = map.getSize();
map.updateSize(); map.updateSize();
@@ -82,31 +64,25 @@ describe('ol.rendering.Map', function() {
}); });
describe('#render()', function() { describe('#render()', function() {
afterEach(function() {
disposeMap(map);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
expectResemble( expectResemble(
map, 'rendering/ol/expected/render-canvas.png', IMAGE_TOLERANCE, done); map, 'rendering/ol/expected/render-canvas.png', IMAGE_TOLERANCE, done);
}); });
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
expectResemble( expectResemble(
map, 'rendering/ol/expected/render-webgl.png', IMAGE_TOLERANCE, done); map, 'rendering/ol/expected/render-webgl.png', IMAGE_TOLERANCE, done);
}); });
}); });
describe('#pan()', function() { describe('#pan()', function() {
afterEach(function() {
disposeMap(map);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
map.getView().setCenter([10, 10]); map.getView().setCenter([10, 10]);
expectResemble( expectResemble(
map, 'rendering/ol/expected/pan-canvas.png', IMAGE_TOLERANCE, done); map, 'rendering/ol/expected/pan-canvas.png', IMAGE_TOLERANCE, done);
@@ -114,7 +90,7 @@ describe('ol.rendering.Map', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
map.getView().setCenter([10, 10]); map.getView().setCenter([10, 10]);
expectResemble( expectResemble(
map, 'rendering/ol/expected/pan-webgl.png', IMAGE_TOLERANCE, done); map, 'rendering/ol/expected/pan-webgl.png', IMAGE_TOLERANCE, done);
@@ -122,12 +98,9 @@ describe('ol.rendering.Map', function() {
}); });
describe('#rotate()', function() { describe('#rotate()', function() {
afterEach(function() {
disposeMap(map);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
map.getView().setRotation(90); map.getView().setRotation(90);
map.getView().setCenter([10, 10]); map.getView().setCenter([10, 10]);
expectResemble( expectResemble(
@@ -136,7 +109,7 @@ describe('ol.rendering.Map', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
map.getView().setRotation(90); map.getView().setRotation(90);
map.getView().setCenter([10, 10]); map.getView().setCenter([10, 10]);
expectResemble( expectResemble(
@@ -145,12 +118,9 @@ describe('ol.rendering.Map', function() {
}); });
describe('#zoom()', function() { describe('#zoom()', function() {
afterEach(function() {
disposeMap(map);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
map.getView().setCenter([10, 10]); map.getView().setCenter([10, 10]);
map.getView().setResolution(2); map.getView().setResolution(2);
expectResemble( expectResemble(
@@ -159,7 +129,7 @@ describe('ol.rendering.Map', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
map.getView().setCenter([10, 10]); map.getView().setCenter([10, 10]);
map.getView().setResolution(2); map.getView().setResolution(2);
expectResemble( expectResemble(

View File

@@ -25,8 +25,9 @@ describe('ol.rendering.source.TileWMS', function() {
} }
var map;
function createMap(renderer, pixelRatio) { function createMap(renderer, pixelRatio) {
return new ol.Map({ map = new ol.Map({
target: createMapDiv(200, 200), target: createMapDiv(200, 200),
pixelRatio: pixelRatio, pixelRatio: pixelRatio,
renderer: renderer, renderer: renderer,
@@ -37,6 +38,13 @@ describe('ol.rendering.source.TileWMS', function() {
}); });
} }
afterEach(function() {
if (map) {
disposeMap(map);
}
map = null;
});
function createSource(gutter) { function createSource(gutter) {
return new ol.source.TileWMS({ return new ol.source.TileWMS({
params: { params: {
@@ -47,17 +55,10 @@ describe('ol.rendering.source.TileWMS', function() {
}); });
} }
var map;
afterEach(function() {
if (map) {
disposeMap(map);
}
map = null;
});
describe('0px gutter, 1 pixel ratio', function() { describe('0px gutter, 1 pixel ratio', function() {
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas', 1); createMap('canvas', 1);
var source = createSource(0); var source = createSource(0);
tilesLoaded(source, function() { tilesLoaded(source, function() {
expectResemble(map, 'rendering/ol/source/expected/0_1.canvas.png', IMAGE_TOLERANCE, done); expectResemble(map, 'rendering/ol/source/expected/0_1.canvas.png', IMAGE_TOLERANCE, done);
@@ -69,7 +70,7 @@ describe('ol.rendering.source.TileWMS', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl', 1); createMap('webgl', 1);
var source = createSource(0); var source = createSource(0);
tilesLoaded(source, function() { tilesLoaded(source, function() {
expectResemble(map, 'rendering/ol/source/expected/0_1.webgl.png', IMAGE_TOLERANCE, done); expectResemble(map, 'rendering/ol/source/expected/0_1.webgl.png', IMAGE_TOLERANCE, done);
@@ -82,7 +83,7 @@ describe('ol.rendering.source.TileWMS', function() {
describe('0px gutter, 2 pixel ratio', function() { describe('0px gutter, 2 pixel ratio', function() {
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas', 2); createMap('canvas', 2);
var source = createSource(0); var source = createSource(0);
tilesLoaded(source, function() { tilesLoaded(source, function() {
expectResemble(map, 'rendering/ol/source/expected/0_2.canvas.png', IMAGE_TOLERANCE, done); expectResemble(map, 'rendering/ol/source/expected/0_2.canvas.png', IMAGE_TOLERANCE, done);
@@ -94,7 +95,7 @@ describe('ol.rendering.source.TileWMS', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl', 2); createMap('webgl', 2);
var source = createSource(0); var source = createSource(0);
tilesLoaded(source, function() { tilesLoaded(source, function() {
expectResemble(map, 'rendering/ol/source/expected/0_2.webgl.png', IMAGE_TOLERANCE, done); expectResemble(map, 'rendering/ol/source/expected/0_2.webgl.png', IMAGE_TOLERANCE, done);
@@ -108,7 +109,7 @@ describe('ol.rendering.source.TileWMS', function() {
describe('20px gutter, 1 pixel ratio', function() { describe('20px gutter, 1 pixel ratio', function() {
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas', 1); createMap('canvas', 1);
var source = createSource(20); var source = createSource(20);
tilesLoaded(source, function() { tilesLoaded(source, function() {
expectResemble(map, 'rendering/ol/source/expected/20_1.canvas.png', IMAGE_TOLERANCE, done); expectResemble(map, 'rendering/ol/source/expected/20_1.canvas.png', IMAGE_TOLERANCE, done);
@@ -120,7 +121,7 @@ describe('ol.rendering.source.TileWMS', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl', 1); createMap('webgl', 1);
var source = createSource(20); var source = createSource(20);
tilesLoaded(source, function() { tilesLoaded(source, function() {
expectResemble(map, 'rendering/ol/source/expected/20_1.webgl.png', IMAGE_TOLERANCE, done); expectResemble(map, 'rendering/ol/source/expected/20_1.webgl.png', IMAGE_TOLERANCE, done);
@@ -133,7 +134,7 @@ describe('ol.rendering.source.TileWMS', function() {
describe('20px gutter, 2 pixel ratio', function() { describe('20px gutter, 2 pixel ratio', function() {
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas', 2); createMap('canvas', 2);
var source = createSource(20); var source = createSource(20);
tilesLoaded(source, function() { tilesLoaded(source, function() {
expectResemble(map, 'rendering/ol/source/expected/20_2.canvas.png', IMAGE_TOLERANCE, done); expectResemble(map, 'rendering/ol/source/expected/20_2.canvas.png', IMAGE_TOLERANCE, done);
@@ -145,7 +146,7 @@ describe('ol.rendering.source.TileWMS', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl', 2); createMap('webgl', 2);
var source = createSource(20); var source = createSource(20);
tilesLoaded(source, function() { tilesLoaded(source, function() {
expectResemble(map, 'rendering/ol/source/expected/20_2.webgl.png', IMAGE_TOLERANCE, done); expectResemble(map, 'rendering/ol/source/expected/20_2.webgl.png', IMAGE_TOLERANCE, done);

View File

@@ -14,18 +14,16 @@ goog.require('ol.style.Stroke');
describe('ol.rendering.style.Circle', function() { describe('ol.rendering.style.Circle', function() {
var target, map, vectorSource; var map, vectorSource;
function createMap(renderer) { function createMap(renderer) {
target = createMapDiv(50, 50);
vectorSource = new ol.source.Vector(); vectorSource = new ol.source.Vector();
var vectorLayer = new ol.layer.Vector({ var vectorLayer = new ol.layer.Vector({
source: vectorSource source: vectorSource
}); });
map = new ol.Map({ map = new ol.Map({
target: target, target: createMapDiv(50, 50),
renderer: renderer, renderer: renderer,
layers: [vectorLayer], layers: [vectorLayer],
view: new ol.View({ view: new ol.View({
@@ -34,13 +32,16 @@ describe('ol.rendering.style.Circle', function() {
resolution: 1 resolution: 1
}) })
}); });
return map;
} }
describe('#render', function() { afterEach(function() {
afterEach(function() { if (map) {
disposeMap(map); disposeMap(map);
}); map = null;
}
});
describe('#render', function() {
function createFeatures() { function createFeatures() {
var feature; var feature;
@@ -184,7 +185,7 @@ describe('ol.rendering.style.Circle', function() {
} }
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/circle-canvas.png', expectResemble(map, 'rendering/ol/style/expected/circle-canvas.png',
8.0, done); 8.0, done);
@@ -192,7 +193,7 @@ describe('ol.rendering.style.Circle', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/circle-webgl.png', expectResemble(map, 'rendering/ol/style/expected/circle-webgl.png',
8.0, done); 8.0, done);

View File

@@ -12,7 +12,7 @@ goog.require('ol.style.Style');
describe('ol.rendering.style.Icon', function() { describe('ol.rendering.style.Icon', function() {
var target, map, vectorSource; var map, vectorSource;
var imgInfo = { var imgInfo = {
anchor: [0.5, 46], anchor: [0.5, 46],
@@ -24,15 +24,13 @@ describe('ol.rendering.style.Icon', function() {
}; };
function createMap(renderer, width, height) { function createMap(renderer, width, height) {
target = createMapDiv(width ? width : 50, height ? height : 50);
vectorSource = new ol.source.Vector(); vectorSource = new ol.source.Vector();
var vectorLayer = new ol.layer.Vector({ var vectorLayer = new ol.layer.Vector({
source: vectorSource source: vectorSource
}); });
map = new ol.Map({ map = new ol.Map({
target: target, target: createMapDiv(width ? width : 50, height ? height : 50),
renderer: renderer, renderer: renderer,
layers: [vectorLayer], layers: [vectorLayer],
view: new ol.View({ view: new ol.View({
@@ -41,13 +39,16 @@ describe('ol.rendering.style.Icon', function() {
resolution: 1 resolution: 1
}) })
}); });
return map;
} }
describe('#render', function() { afterEach(function() {
afterEach(function() { if (map) {
disposeMap(map); disposeMap(map);
}); map = null;
}
});
describe('#render', function() {
function createFeatures(src, imgInfo, callback) { function createFeatures(src, imgInfo, callback) {
var feature; var feature;
@@ -68,7 +69,7 @@ describe('ol.rendering.style.Icon', function() {
} }
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures('rendering/ol/data/icon.png', imgInfo, function() { createFeatures('rendering/ol/data/icon.png', imgInfo, function() {
expectResemble(map, 'rendering/ol/style/expected/icon-canvas.png', expectResemble(map, 'rendering/ol/style/expected/icon-canvas.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -76,7 +77,7 @@ describe('ol.rendering.style.Icon', function() {
}); });
it('scales svg correctly in the canvas renderer', function(done) { it('scales svg correctly in the canvas renderer', function(done) {
map = createMap('canvas', 512, 512); createMap('canvas', 512, 512);
createFeatures('rendering/ol/data/me0.svg', { createFeatures('rendering/ol/data/me0.svg', {
scale: 96 / 512, scale: 96 / 512,
imgSize: [512, 512] imgSize: [512, 512]
@@ -87,7 +88,7 @@ describe('ol.rendering.style.Icon', function() {
}); });
it('uses offset correctly in the canvas renderer', function(done) { it('uses offset correctly in the canvas renderer', function(done) {
map = createMap('canvas', 256, 512); createMap('canvas', 256, 512);
createFeatures('rendering/ol/data/me0.svg', { createFeatures('rendering/ol/data/me0.svg', {
offset: [0, 256], offset: [0, 256],
size: [256, 256], size: [256, 256],
@@ -99,7 +100,7 @@ describe('ol.rendering.style.Icon', function() {
}); });
it('uses offset correctly if it is larger than size in the canvas renderer', function(done) { it('uses offset correctly if it is larger than size in the canvas renderer', function(done) {
map = createMap('canvas', 256, 512); createMap('canvas', 256, 512);
createFeatures('rendering/ol/data/me0.svg', { createFeatures('rendering/ol/data/me0.svg', {
offset: [0, 374], offset: [0, 374],
size: [256, 256], size: [256, 256],
@@ -112,7 +113,7 @@ describe('ol.rendering.style.Icon', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
createFeatures('rendering/ol/data/icon.png', imgInfo, function() { createFeatures('rendering/ol/data/icon.png', imgInfo, function() {
expectResemble(map, 'rendering/ol/style/expected/icon-webgl.png', expectResemble(map, 'rendering/ol/style/expected/icon-webgl.png',
2.0, done); 2.0, done);

View File

@@ -12,11 +12,9 @@ goog.require('ol.style.Stroke');
describe('ol.rendering.style.LineString', function() { describe('ol.rendering.style.LineString', function() {
var target, map, vectorSource; var map, vectorSource;
function createMap(renderer, opt_pixelRatio) { function createMap(renderer, opt_pixelRatio) {
target = createMapDiv(50, 50);
vectorSource = new ol.source.Vector(); vectorSource = new ol.source.Vector();
var vectorLayer = new ol.layer.Vector({ var vectorLayer = new ol.layer.Vector({
source: vectorSource source: vectorSource
@@ -24,7 +22,7 @@ describe('ol.rendering.style.LineString', function() {
map = new ol.Map({ map = new ol.Map({
pixelRatio: opt_pixelRatio || 1, pixelRatio: opt_pixelRatio || 1,
target: target, target: createMapDiv(50, 50),
renderer: renderer, renderer: renderer,
layers: [vectorLayer], layers: [vectorLayer],
view: new ol.View({ view: new ol.View({
@@ -33,13 +31,16 @@ describe('ol.rendering.style.LineString', function() {
resolution: 1 resolution: 1
}) })
}); });
return map;
} }
describe('different strokes', function() { afterEach(function() {
afterEach(function() { if (map) {
disposeMap(map); disposeMap(map);
}); map = null;
}
});
describe('different strokes', function() {
function createFeatures() { function createFeatures() {
var feature; var feature;
@@ -111,7 +112,7 @@ describe('ol.rendering.style.LineString', function() {
} }
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures(); createFeatures();
expectResemble( expectResemble(
map, 'rendering/ol/style/expected/linestring-strokes-canvas.png', map, 'rendering/ol/style/expected/linestring-strokes-canvas.png',
@@ -119,14 +120,14 @@ describe('ol.rendering.style.LineString', function() {
}); });
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/linestring-strokes-webgl.png', expectResemble(map, 'rendering/ol/style/expected/linestring-strokes-webgl.png',
14.6, done); 14.6, done);
}); });
it('tests the canvas renderer (HiDPI)', function(done) { it('tests the canvas renderer (HiDPI)', function(done) {
map = createMap('canvas', 2); createMap('canvas', 2);
createFeatures(); createFeatures();
expectResemble( expectResemble(
map, 'rendering/ol/style/expected/linestring-strokes-canvas-hidpi.png', map, 'rendering/ol/style/expected/linestring-strokes-canvas-hidpi.png',

View File

@@ -13,11 +13,10 @@ goog.require('ol.style.Stroke');
describe('ol.rendering.style.Polygon', function() { describe('ol.rendering.style.Polygon', function() {
var target, map, vectorSource; var map, vectorSource;
function createMap(renderer, opt_size) { function createMap(renderer, opt_size) {
var size = opt_size || 50; var size = opt_size || 50;
target = createMapDiv(size, size);
vectorSource = new ol.source.Vector(); vectorSource = new ol.source.Vector();
var vectorLayer = new ol.layer.Vector({ var vectorLayer = new ol.layer.Vector({
@@ -25,7 +24,7 @@ describe('ol.rendering.style.Polygon', function() {
}); });
map = new ol.Map({ map = new ol.Map({
target: target, target: createMapDiv(size, size),
renderer: renderer, renderer: renderer,
layers: [vectorLayer], layers: [vectorLayer],
view: new ol.View({ view: new ol.View({
@@ -34,13 +33,16 @@ describe('ol.rendering.style.Polygon', function() {
resolution: 1 resolution: 1
}) })
}); });
return map;
} }
describe('different types', function() { afterEach(function() {
afterEach(function() { if (map) {
disposeMap(map); disposeMap(map);
}); map = null;
}
});
describe('different types', function() {
function createFeatures() { function createFeatures() {
var fill = new ol.style.Fill({color: 'red'}); var fill = new ol.style.Fill({color: 'red'});
@@ -86,14 +88,14 @@ describe('ol.rendering.style.Polygon', function() {
} }
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/polygon-types-canvas.png', expectResemble(map, 'rendering/ol/style/expected/polygon-types-canvas.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
}); });
where('WebGL').it('tests the webgl renderer', function(done) { where('WebGL').it('tests the webgl renderer', function(done) {
map = createMap('webgl'); createMap('webgl');
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/polygon-types-webgl.png', expectResemble(map, 'rendering/ol/style/expected/polygon-types-webgl.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -101,9 +103,6 @@ describe('ol.rendering.style.Polygon', function() {
}); });
describe('different types with stroke', function() { describe('different types with stroke', function() {
afterEach(function() {
disposeMap(map);
});
function createFeatures() { function createFeatures() {
var stroke = new ol.style.Stroke({ var stroke = new ol.style.Stroke({
@@ -154,7 +153,7 @@ describe('ol.rendering.style.Polygon', function() {
} }
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas', 100); createMap('canvas', 100);
map.getView().setResolution(0.5); map.getView().setResolution(0.5);
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/polygon-types-canvas-stroke.png', expectResemble(map, 'rendering/ol/style/expected/polygon-types-canvas-stroke.png',
@@ -162,7 +161,7 @@ describe('ol.rendering.style.Polygon', function() {
}); });
where('WebGL').it('tests the webgl renderer', function(done) { where('WebGL').it('tests the webgl renderer', function(done) {
map = createMap('webgl', 100); createMap('webgl', 100);
map.getView().setResolution(0.5); map.getView().setResolution(0.5);
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/polygon-types-webgl-stroke.png', expectResemble(map, 'rendering/ol/style/expected/polygon-types-webgl-stroke.png',
@@ -171,9 +170,6 @@ describe('ol.rendering.style.Polygon', function() {
}); });
describe('z-index', function() { describe('z-index', function() {
afterEach(function() {
disposeMap(map);
});
function createFeatures() { function createFeatures() {
var feature; var feature;
@@ -216,14 +212,14 @@ describe('ol.rendering.style.Polygon', function() {
} }
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/polygon-zindex-canvas.png', expectResemble(map, 'rendering/ol/style/expected/polygon-zindex-canvas.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
}); });
where('WebGL').it('tests the webgl renderer', function(done) { where('WebGL').it('tests the webgl renderer', function(done) {
map = createMap('webgl'); createMap('webgl');
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/polygon-zindex-webgl.png', expectResemble(map, 'rendering/ol/style/expected/polygon-zindex-webgl.png',
IMAGE_TOLERANCE, done); IMAGE_TOLERANCE, done);
@@ -231,9 +227,6 @@ describe('ol.rendering.style.Polygon', function() {
}); });
describe('different fills and strokes', function() { describe('different fills and strokes', function() {
afterEach(function() {
disposeMap(map);
});
function createFeatures() { function createFeatures() {
var feature; var feature;
@@ -275,7 +268,7 @@ describe('ol.rendering.style.Polygon', function() {
} }
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures(); createFeatures();
expectResemble( expectResemble(
map, 'rendering/ol/style/expected/polygon-fill-and-strokes-canvas.png', map, 'rendering/ol/style/expected/polygon-fill-and-strokes-canvas.png',
@@ -283,7 +276,7 @@ describe('ol.rendering.style.Polygon', function() {
}); });
where('WebGL').it('tests the webgl renderer', function(done) { where('WebGL').it('tests the webgl renderer', function(done) {
map = createMap('webgl'); createMap('webgl');
createFeatures(); createFeatures();
expectResemble( expectResemble(
map, 'rendering/ol/style/expected/polygon-fill-and-strokes-webgl.png', map, 'rendering/ol/style/expected/polygon-fill-and-strokes-webgl.png',
@@ -292,9 +285,6 @@ describe('ol.rendering.style.Polygon', function() {
}); });
describe('CanvasPattern and LinearGradient as fills and strokes', function() { describe('CanvasPattern and LinearGradient as fills and strokes', function() {
afterEach(function() {
disposeMap(map);
});
function createRainbowGradient() { function createRainbowGradient() {
var canvas = document.createElement('canvas'); var canvas = document.createElement('canvas');
@@ -340,7 +330,7 @@ describe('ol.rendering.style.Polygon', function() {
} }
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures(); createFeatures();
expectResemble( expectResemble(
map, 'rendering/ol/style/expected/polygon-pattern-gradient-canvas.png', map, 'rendering/ol/style/expected/polygon-pattern-gradient-canvas.png',

View File

@@ -14,18 +14,16 @@ goog.require('ol.style.Stroke');
describe('ol.rendering.style.RegularShape', function() { describe('ol.rendering.style.RegularShape', function() {
var target, map, vectorSource; var map, vectorSource;
function createMap(renderer) { function createMap(renderer) {
target = createMapDiv(50, 50);
vectorSource = new ol.source.Vector(); vectorSource = new ol.source.Vector();
var vectorLayer = new ol.layer.Vector({ var vectorLayer = new ol.layer.Vector({
source: vectorSource source: vectorSource
}); });
map = new ol.Map({ map = new ol.Map({
target: target, target: createMapDiv(50, 50),
renderer: renderer, renderer: renderer,
layers: [vectorLayer], layers: [vectorLayer],
view: new ol.View({ view: new ol.View({
@@ -34,11 +32,16 @@ describe('ol.rendering.style.RegularShape', function() {
resolution: 1 resolution: 1
}) })
}); });
return map;
} }
function createFeatures(stroke, fill) { afterEach(function() {
if (map) {
disposeMap(map);
map = null;
}
});
function createFeatures(stroke, fill) {
var feature; var feature;
feature = new ol.Feature({ feature = new ol.Feature({
geometry: new ol.geom.Point([-15, 15]) geometry: new ol.geom.Point([-15, 15])
@@ -109,12 +112,8 @@ describe('ol.rendering.style.RegularShape', function() {
var stroke = new ol.style.Stroke({width: 2}); var stroke = new ol.style.Stroke({width: 2});
var fill = new ol.style.Fill({color: 'red'}); var fill = new ol.style.Fill({color: 'red'});
afterEach(function() {
disposeMap(map);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures(stroke, fill); createFeatures(stroke, fill);
expectResemble(map, 'rendering/ol/style/expected/regularshape-canvas.png', 9.4, done); expectResemble(map, 'rendering/ol/style/expected/regularshape-canvas.png', 9.4, done);
}); });
@@ -138,7 +137,7 @@ describe('ol.rendering.style.RegularShape', function() {
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
createFeatures(stroke, fill); createFeatures(stroke, fill);
expectResemble(map, 'rendering/ol/style/expected/regularshape-webgl.png', 8.2, done); expectResemble(map, 'rendering/ol/style/expected/regularshape-webgl.png', 8.2, done);
}); });
@@ -148,19 +147,15 @@ describe('ol.rendering.style.RegularShape', function() {
var stroke = new ol.style.Stroke(); var stroke = new ol.style.Stroke();
var fill = new ol.style.Fill(); var fill = new ol.style.Fill();
afterEach(function() {
disposeMap(map);
});
it('tests the canvas renderer', function(done) { it('tests the canvas renderer', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures(stroke, fill); createFeatures(stroke, fill);
expectResemble(map, 'rendering/ol/style/expected/regularshape-canvas-default-style.png', 3.0, done); expectResemble(map, 'rendering/ol/style/expected/regularshape-canvas-default-style.png', 3.0, done);
}); });
where('WebGL').it('tests the WebGL renderer', function(done) { where('WebGL').it('tests the WebGL renderer', function(done) {
assertWebGL(); assertWebGL();
map = createMap('webgl'); createMap('webgl');
createFeatures(stroke, fill); createFeatures(stroke, fill);
expectResemble(map, 'rendering/ol/style/expected/regularshape-webgl-default-style.png', 3.0, done); expectResemble(map, 'rendering/ol/style/expected/regularshape-webgl-default-style.png', 3.0, done);
}); });

View File

@@ -13,18 +13,16 @@ goog.require('ol.style.Stroke');
describe('ol.rendering.style.Text', function() { describe('ol.rendering.style.Text', function() {
var target, map, vectorSource; var map, vectorSource;
function createMap(renderer) { function createMap(renderer) {
target = createMapDiv(200, 200);
vectorSource = new ol.source.Vector(); vectorSource = new ol.source.Vector();
var vectorLayer = new ol.layer.Vector({ var vectorLayer = new ol.layer.Vector({
source: vectorSource source: vectorSource
}); });
map = new ol.Map({ map = new ol.Map({
target: target, target: createMapDiv(200, 200),
renderer: renderer, renderer: renderer,
layers: [vectorLayer], layers: [vectorLayer],
view: new ol.View({ view: new ol.View({
@@ -33,13 +31,16 @@ describe('ol.rendering.style.Text', function() {
resolution: 1 resolution: 1
}) })
}); });
return map;
} }
describe('#render', function() { afterEach(function() {
afterEach(function() { if (map) {
disposeMap(map); disposeMap(map);
}); map = null;
}
});
describe('#render', function() {
function createFeatures() { function createFeatures() {
var feature; var feature;
@@ -86,30 +87,29 @@ describe('ol.rendering.style.Text', function() {
}) })
})); }));
vectorSource.addFeature(feature); vectorSource.addFeature(feature);
} }
it('tests the canvas renderer without rotation', function(done) { it('tests the canvas renderer without rotation', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/text-canvas.png', IMAGE_TOLERANCE, done); expectResemble(map, 'rendering/ol/style/expected/text-canvas.png', IMAGE_TOLERANCE, done);
}); });
it('tests the canvas renderer with rotation', function(done) { it('tests the canvas renderer with rotation', function(done) {
map = createMap('canvas'); createMap('canvas');
createFeatures(); createFeatures();
map.getView().setRotation(Math.PI / 7); map.getView().setRotation(Math.PI / 7);
expectResemble(map, 'rendering/ol/style/expected/text-rotated-canvas.png', IMAGE_TOLERANCE, done); expectResemble(map, 'rendering/ol/style/expected/text-rotated-canvas.png', IMAGE_TOLERANCE, done);
}); });
where('WebGL').it('tests the webgl renderer without rotation', function(done) { where('WebGL').it('tests the webgl renderer without rotation', function(done) {
map = createMap('webgl'); createMap('webgl');
createFeatures(); createFeatures();
expectResemble(map, 'rendering/ol/style/expected/text-webgl.png', 1.8, done); expectResemble(map, 'rendering/ol/style/expected/text-webgl.png', 1.8, done);
}); });
where('WebGL').it('tests the webgl renderer with rotation', function(done) { where('WebGL').it('tests the webgl renderer with rotation', function(done) {
map = createMap('webgl'); createMap('webgl');
createFeatures(); createFeatures();
map.getView().setRotation(Math.PI / 7); map.getView().setRotation(Math.PI / 7);
expectResemble(map, 'rendering/ol/style/expected/text-rotated-webgl.png', 1.8, done); expectResemble(map, 'rendering/ol/style/expected/text-rotated-webgl.png', 1.8, done);

View File

@@ -7,22 +7,13 @@ goog.require('ol.interaction.Extent');
goog.require('ol.pointer.PointerEvent'); goog.require('ol.pointer.PointerEvent');
describe('ol.interaction.Extent', function() { describe('ol.interaction.Extent', function() {
var map, interaction;
var target, map, interaction;
var width = 360; var width = 360;
var height = 180; var height = 180;
beforeEach(function(done) { beforeEach(function() {
target = document.createElement('div'); var target = createMapDiv(width, height);
var style = target.style;
style.position = 'absolute';
style.left = '-1000px';
style.top = '-1000px';
style.width = width + 'px';
style.height = height + 'px';
document.body.appendChild(target);
map = new ol.Map({ map = new ol.Map({
target: target, target: target,
@@ -33,18 +24,18 @@ describe('ol.interaction.Extent', function() {
resolution: 1 resolution: 1
}) })
}); });
map.renderSync();
map.once('postrender', function() {
done();
});
interaction = new ol.interaction.Extent(); interaction = new ol.interaction.Extent();
map.addInteraction(interaction); map.addInteraction(interaction);
}); });
afterEach(function() { afterEach(function() {
map.dispose(); if (map) {
document.body.removeChild(target); disposeMap(map);
}
map = null;
interaction = null;
}); });
/** /**
@@ -92,6 +83,7 @@ describe('ol.interaction.Extent', function() {
expect(interaction.snapToVertex_([230, 40], map)).to.eql([50, 50]); expect(interaction.snapToVertex_([230, 40], map)).to.eql([50, 50]);
expect(interaction.snapToVertex_([231, 41], map)).to.eql([50, 50]); expect(interaction.snapToVertex_([231, 41], map)).to.eql([50, 50]);
}); });
it('snap to edge works', function() { it('snap to edge works', function() {
interaction.setExtent([-50, -50, 50, 50]); interaction.setExtent([-50, -50, 50, 50]);

View File

@@ -22,7 +22,7 @@ var blue = 'data:image/gif;base64,R0lGODlhAQABAPAAAAAA/////yH5BAAAAAAALAAAAA' +
where('Uint8ClampedArray').describe('ol.source.Raster', function() { where('Uint8ClampedArray').describe('ol.source.Raster', function() {
var target, map, redSource, greenSource, blueSource, raster; var map, target, redSource, greenSource, blueSource, raster;
beforeEach(function() { beforeEach(function() {
target = document.createElement('div'); target = document.createElement('div');
@@ -79,13 +79,14 @@ where('Uint8ClampedArray').describe('ol.source.Raster', function() {
}); });
afterEach(function() { afterEach(function() {
map.setTarget(null); if (map) {
map.dispose(); disposeMap(map);
}
map = null;
raster.dispose(); raster.dispose();
greenSource.dispose(); greenSource.dispose();
redSource.dispose(); redSource.dispose();
blueSource.dispose(); blueSource.dispose();
document.body.removeChild(target);
}); });
describe('constructor', function() { describe('constructor', function() {
@@ -304,9 +305,10 @@ where('Uint8ClampedArray').describe('ol.source.Raster', function() {
}); });
describe('tile loading', function() { describe('tile loading', function() {
beforeEach(function() { var map2;
map.setTarget(null); afterEach(function() {
map.dispose(); disposeMap(map2);
map2 = null;
}); });
it('is initiated on the underlying source', function(done) { it('is initiated on the underlying source', function(done) {
@@ -323,7 +325,7 @@ where('Uint8ClampedArray').describe('ol.source.Raster', function() {
} }
}); });
map = new ol.Map({ map2 = new ol.Map({
target: target, target: target,
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
@@ -340,7 +342,7 @@ where('Uint8ClampedArray').describe('ol.source.Raster', function() {
expect(tileCache.getCount()).to.equal(0); expect(tileCache.getCount()).to.equal(0);
map.once('moveend', function() { map2.once('moveend', function() {
expect(tileCache.getCount()).to.equal(1); expect(tileCache.getCount()).to.equal(1);
var state = tileCache.peekLast().getState(); var state = tileCache.peekLast().getState();
expect(state === ol.TileState.LOADED || state === ol.TileState.LOADED).to.be(true); expect(state === ol.TileState.LOADED || state === ol.TileState.LOADED).to.be(true);