diff --git a/test/rendering/ol/layer/image.test.js b/test/rendering/ol/layer/image.test.js index 121c5b6906..75d9e5e5e7 100644 --- a/test/rendering/ol/layer/image.test.js +++ b/test/rendering/ol/layer/image.test.js @@ -11,13 +11,11 @@ goog.require('ol.tilegrid'); describe('ol.rendering.layer.Image', function() { - var target, map; + var map; function createMap(renderer) { - target = createMapDiv(50, 50); - map = new ol.Map({ - target: target, + target: createMapDiv(50, 50), renderer: renderer, view: new ol.View({ center: ol.proj.transform( @@ -25,9 +23,15 @@ describe('ol.rendering.layer.Image', function() { zoom: 5 }) }); - return map; } + afterEach(function() { + if (map) { + disposeMap(map); + } + map = null; + }); + function waitForImages(sources, layerOptions, onImagesLoaded) { var imagesLoading = 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) { - map = createMap('canvas'); + createMap('canvas'); waitForImages([source], {}, function() { expectResemble(map, 'rendering/ol/layer/expected/image-canvas.png', IMAGE_TOLERANCE, done); @@ -84,7 +84,7 @@ describe('ol.rendering.layer.Image', function() { where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); waitForImages([source], {}, function() { expectResemble(map, 'rendering/ol/layer/expected/image-webgl.png', IMAGE_TOLERANCE, done); @@ -103,12 +103,8 @@ describe('ol.rendering.layer.Image', function() { }); }); - afterEach(function() { - disposeMap(map); - }); - it('renders correctly', function(done) { - map = createMap('canvas'); + createMap('canvas'); waitForImages([source], {}, function() { expectResemble(map, 'rendering/ol/layer/expected/image-scaled.png', IMAGE_TOLERANCE, done); diff --git a/test/rendering/ol/layer/tile.test.js b/test/rendering/ol/layer/tile.test.js index 4be6ab5654..160bdb587d 100644 --- a/test/rendering/ol/layer/tile.test.js +++ b/test/rendering/ol/layer/tile.test.js @@ -17,15 +17,14 @@ goog.require('ol.tilegrid'); describe('ol.rendering.layer.Tile', function() { - var target, map; + var map; function createMap(renderer, opt_center, opt_size, opt_pixelRatio, opt_resolutions) { var size = opt_size !== undefined ? opt_size : [50, 50]; - target = createMapDiv(size[0], size[1]); map = new ol.Map({ pixelRatio: opt_pixelRatio || 1, - target: target, + target: createMapDiv(size[0], size[1]), renderer: renderer, view: new ol.View({ center: opt_center !== undefined ? opt_center : ol.proj.transform( @@ -34,9 +33,15 @@ describe('ol.rendering.layer.Tile', function() { zoom: 5 }) }); - return map; } + afterEach(function() { + if (map) { + disposeMap(map); + } + map = null; + }); + function waitForTiles(sources, layerOptions, onTileLoaded) { var tilesLoading = 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) { - map = createMap('canvas'); + createMap('canvas'); waitForTiles([source], {}, function() { expectResemble(map, 'rendering/ol/layer/expected/osm-canvas.png', IMAGE_TOLERANCE, done); @@ -90,7 +91,7 @@ describe('ol.rendering.layer.Tile', function() { where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); waitForTiles([source], {}, function() { expectResemble(map, 'rendering/ol/layer/expected/osm-webgl.png', IMAGE_TOLERANCE, done); @@ -110,12 +111,8 @@ describe('ol.rendering.layer.Tile', function() { }); }); - afterEach(function() { - disposeMap(map); - }); - it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); waitForTiles([source1, source2], {}, function() { expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas.png', IMAGE_TOLERANCE, done); @@ -124,7 +121,7 @@ describe('ol.rendering.layer.Tile', function() { where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); waitForTiles([source1, source2], {}, function() { expectResemble(map, 'rendering/ol/layer/expected/2-layers-webgl.png', IMAGE_TOLERANCE, done); @@ -139,7 +136,7 @@ describe('ol.rendering.layer.Tile', function() { } it('tests canvas layer extent clipping', function(done) { - map = createMap('canvas'); + createMap('canvas'); waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() { expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas-extent.png', IMAGE_TOLERANCE, done); @@ -147,7 +144,7 @@ describe('ol.rendering.layer.Tile', function() { }); it('tests canvas layer extent clipping with rotation', function(done) { - map = createMap('canvas'); + createMap('canvas'); map.getView().setRotation(Math.PI / 2); waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() { 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) { - map = createMap('canvas', undefined, undefined, 2); + createMap('canvas', undefined, undefined, 2); waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() { expectResemble(map, 'rendering/ol/layer/expected/2-layers-canvas-extent-hidpi.png', IMAGE_TOLERANCE, done); @@ -164,7 +161,7 @@ describe('ol.rendering.layer.Tile', function() { }); 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); waitForTiles([source1, source2], [{}, {extent: centerExtent(map)}], function() { 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) { - map = createMap('canvas'); + createMap('canvas'); waitForTiles([source], {opacity: 0.2}, function() { expectResemble(map, 'rendering/ol/layer/expected/opacity-canvas.png', IMAGE_TOLERANCE, done); @@ -197,7 +190,7 @@ describe('ol.rendering.layer.Tile', function() { where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); waitForTiles([source], {opacity: 0.2}, function() { expectResemble(map, 'rendering/ol/layer/expected/opacity-webgl.png', 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) { var source = createSource('512x256'); - map = createMap('canvas', [-10997148, 4569099]); + createMap('canvas', [-10997148, 4569099]); waitForTiles([source], {}, function() { expectResemble(map, 'rendering/ol/layer/expected/512x256-canvas.png', 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) { assertWebGL(); var source = createSource('512x256'); - map = createMap('webgl', [-10997148, 4569099]); + createMap('webgl', [-10997148, 4569099]); waitForTiles([source], {}, function() { expectResemble(map, 'rendering/ol/layer/expected/512x256-webgl.png', IMAGE_TOLERANCE, done); @@ -241,7 +230,7 @@ describe('ol.rendering.layer.Tile', function() { it('192x256 renders correcly using the canvas renderer', function(done) { var source = createSource('192x256'); - map = createMap('canvas', [-11271098, 3747248], [100, 100], undefined, + createMap('canvas', [-11271098, 3747248], [100, 100], undefined, source.getTileGrid().getResolutions()); waitForTiles([source], {}, function() { 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) { assertWebGL(); var source = createSource('192x256'); - map = createMap('webgl', [-11271098, 3747248], [100, 100], undefined, + createMap('webgl', [-11271098, 3747248], [100, 100], undefined, source.getTileGrid().getResolutions()); waitForTiles([source], {}, function() { 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) { - map = createMap('canvas', undefined, [100, 100]); + createMap('canvas', undefined, [100, 100]); map.getLayers().on('add', onAddLayer); waitForTiles([source], {}, function() { expectResemble(map, 'rendering/ol/layer/expected/render-canvas.png', diff --git a/test/rendering/ol/layer/vector.test.js b/test/rendering/ol/layer/vector.test.js index b6488429b0..e324569d3b 100644 --- a/test/rendering/ol/layer/vector.test.js +++ b/test/rendering/ol/layer/vector.test.js @@ -16,23 +16,27 @@ goog.require('ol.style.Style'); describe('ol.rendering.layer.Vector', function() { - var center, target, map; + var center = [1825927.7316762917, 6143091.089223046]; + var map; function createMap(renderer) { - target = createMapDiv(80, 80); - center = [1825927.7316762917, 6143091.089223046]; - map = new ol.Map({ - target: target, + target: createMapDiv(80, 80), renderer: renderer, view: new ol.View({ center: center, zoom: 13 }) }); - return map; } + afterEach(function() { + if (map) { + disposeMap(map); + } + map = null; + }); + var source; function addCircle(r) { @@ -67,12 +71,8 @@ describe('ol.rendering.layer.Vector', function() { source = new ol.source.Vector(); }); - afterEach(function() { - disposeMap(map); - }); - it('renders opacity correctly with the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); var smallLine = new ol.Feature(new ol.geom.LineString([ [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) { - map = createMap('canvas'); + createMap('canvas'); map.getView().setRotation(Math.PI + Math.PI / 4); addPolygon(300); addCircle(500); @@ -157,7 +157,7 @@ describe('ol.rendering.layer.Vector', function() { }); it('renders fill/stroke batches correctly with the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); source = new ol.source.Vector({ overlaps: false }); @@ -183,7 +183,7 @@ describe('ol.rendering.layer.Vector', function() { }); it('renders stroke batches correctly with the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); source = new ol.source.Vector({ overlaps: false }); @@ -207,7 +207,7 @@ describe('ol.rendering.layer.Vector', function() { }); it('interrupts fill/stroke batches correctly with the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); var color; function createSource(overlaps) { color = '#3399CC'; @@ -260,7 +260,7 @@ describe('ol.rendering.layer.Vector', function() { }); it('interrupts stroke batches correctly with the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); var color; function createSource(overlaps) { color = '#3399CC'; @@ -313,9 +313,9 @@ describe('ol.rendering.layer.Vector', function() { describe('polygon rendering', function() { - var map; + var map2; beforeEach(function() { - map = new ol.Map({ + map2 = new ol.Map({ target: createMapDiv(128, 128), view: new ol.View({ center: [0, 0], @@ -325,7 +325,8 @@ describe('ol.rendering.layer.Vector', function() { }); afterEach(function() { - disposeMap(map); + disposeMap(map2); + map2 = null; }); 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() { - expectResemble(map, 'rendering/ol/layer/expected/inverted-star.png', 1, done); + map2.once('postrender', function() { + 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() { - var layer, map; + var layer, map3; beforeEach(function() { var src = new ol.source.Vector({ @@ -402,7 +403,7 @@ describe('ol.rendering.layer.Vector', function() { projection: 'EPSG:4326' }); - map = new ol.Map({ + map3 = new ol.Map({ layers: [layer], target: createMapDiv(100, 100), view: view @@ -410,7 +411,8 @@ describe('ol.rendering.layer.Vector', function() { }); afterEach(function() { - disposeMap(map); + disposeMap(map3); + map3 = null; }); 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] }) })); - map.once('postrender', function() { - expectResemble(map, 'rendering/ol/layer/expected/vector-canvas-simplified.png', + map3.once('postrender', function() { + expectResemble(map3, 'rendering/ol/layer/expected/vector-canvas-simplified.png', IMAGE_TOLERANCE, done); }); }); @@ -435,8 +437,8 @@ describe('ol.rendering.layer.Vector', function() { color: [0, 0, 0, 1] }) })); - map.once('postrender', function() { - expectResemble(map, 'rendering/ol/layer/expected/vector-canvas-simplified-fill.png', + map3.once('postrender', function() { + expectResemble(map3, 'rendering/ol/layer/expected/vector-canvas-simplified-fill.png', IMAGE_TOLERANCE, done); }); }); @@ -448,8 +450,8 @@ describe('ol.rendering.layer.Vector', function() { width: 2 }) })); - map.once('postrender', function() { - expectResemble(map, 'rendering/ol/layer/expected/vector-canvas-simplified-stroke.png', + map3.once('postrender', function() { + expectResemble(map3, 'rendering/ol/layer/expected/vector-canvas-simplified-stroke.png', IMAGE_TOLERANCE, done); }); }); diff --git a/test/rendering/ol/layer/vectortile.test.js b/test/rendering/ol/layer/vectortile.test.js index 7dc677e441..a2b8956cca 100644 --- a/test/rendering/ol/layer/vectortile.test.js +++ b/test/rendering/ol/layer/vectortile.test.js @@ -11,23 +11,25 @@ goog.require('ol.tilegrid'); describe('ol.rendering.layer.VectorTile', function() { - var target, map; + var map; function createMap(renderer, opt_pixelRatio) { - target = createMapDiv(50, 50); - map = new ol.Map({ pixelRatio: opt_pixelRatio, - target: target, + target: createMapDiv(50, 50), renderer: renderer, view: new ol.View({ center: [1825927.7316762917, 6143091.089223046], zoom: 14 }) }); - return map; } + afterEach(function() { + disposeMap(map); + map = null; + }); + function waitForTiles(source, layerOptions, onTileLoaded) { var tilesLoading = 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) { - map = createMap('canvas'); + createMap('canvas'); waitForTiles(source, {}, function() { 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) { - map = createMap('canvas'); + createMap('canvas'); map.getView().setRotation(Math.PI / 4); waitForTiles(source, {}, function() { 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) { - map = createMap('canvas', 2); + createMap('canvas', 2); waitForTiles(source, {}, function() { expectResemble(map, 'rendering/ol/layer/expected/vectortile-canvas-hidpi.png', 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) { - map = createMap('canvas', 2); + createMap('canvas', 2); map.getView().setRotation(Math.PI / 4); waitForTiles(source, {}, function() { expectResemble(map, 'rendering/ol/layer/expected/vectortile-canvas-rotated-hidpi.png', diff --git a/test/rendering/ol/map.test.js b/test/rendering/ol/map.test.js index f82e60bb1b..755805a6c0 100644 --- a/test/rendering/ol/map.test.js +++ b/test/rendering/ol/map.test.js @@ -10,11 +10,8 @@ goog.require('ol.source.Vector'); describe('ol.rendering.Map', function() { - var target, map; - + var map; function createMap(renderer) { - target = createMapDiv(50, 50); - var vectorLayer = new ol.layer.Vector({ source: new ol.source.Vector({ features: [new ol.Feature({ @@ -24,7 +21,7 @@ describe('ol.rendering.Map', function() { }); map = new ol.Map({ - target: target, + target: createMapDiv(50, 50), renderer: renderer, layers: [vectorLayer], view: new ol.View({ @@ -33,34 +30,19 @@ describe('ol.rendering.Map', function() { resolution: 1 }) }); - return map; } - describe('#updateSize()', function() { - var map, target; - - 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; + afterEach(function() { + if (map) { + disposeMap(map); } + map = null; + }); - afterEach(function() { - map.setTarget(null); - document.body.removeChild(target); - }); + describe('#updateSize()', function() { it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); map.once('postrender', function() { var initialSize = map.getSize(); map.updateSize(); @@ -71,7 +53,7 @@ describe('ol.rendering.Map', function() { where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); map.once('postrender', function() { var initialSize = map.getSize(); map.updateSize(); @@ -82,31 +64,25 @@ describe('ol.rendering.Map', function() { }); describe('#render()', function() { - afterEach(function() { - disposeMap(map); - }); it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); expectResemble( map, 'rendering/ol/expected/render-canvas.png', IMAGE_TOLERANCE, done); }); where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); expectResemble( map, 'rendering/ol/expected/render-webgl.png', IMAGE_TOLERANCE, done); }); }); describe('#pan()', function() { - afterEach(function() { - disposeMap(map); - }); it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); map.getView().setCenter([10, 10]); expectResemble( 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) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); map.getView().setCenter([10, 10]); expectResemble( map, 'rendering/ol/expected/pan-webgl.png', IMAGE_TOLERANCE, done); @@ -122,12 +98,9 @@ describe('ol.rendering.Map', function() { }); describe('#rotate()', function() { - afterEach(function() { - disposeMap(map); - }); it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); map.getView().setRotation(90); map.getView().setCenter([10, 10]); expectResemble( @@ -136,7 +109,7 @@ describe('ol.rendering.Map', function() { where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); map.getView().setRotation(90); map.getView().setCenter([10, 10]); expectResemble( @@ -145,12 +118,9 @@ describe('ol.rendering.Map', function() { }); describe('#zoom()', function() { - afterEach(function() { - disposeMap(map); - }); it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); map.getView().setCenter([10, 10]); map.getView().setResolution(2); expectResemble( @@ -159,7 +129,7 @@ describe('ol.rendering.Map', function() { where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); map.getView().setCenter([10, 10]); map.getView().setResolution(2); expectResemble( diff --git a/test/rendering/ol/source/tilewms.test.js b/test/rendering/ol/source/tilewms.test.js index fc7193daed..838f50a136 100644 --- a/test/rendering/ol/source/tilewms.test.js +++ b/test/rendering/ol/source/tilewms.test.js @@ -25,8 +25,9 @@ describe('ol.rendering.source.TileWMS', function() { } + var map; function createMap(renderer, pixelRatio) { - return new ol.Map({ + map = new ol.Map({ target: createMapDiv(200, 200), pixelRatio: pixelRatio, renderer: renderer, @@ -37,6 +38,13 @@ describe('ol.rendering.source.TileWMS', function() { }); } + afterEach(function() { + if (map) { + disposeMap(map); + } + map = null; + }); + function createSource(gutter) { return new ol.source.TileWMS({ 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() { it('tests the canvas renderer', function(done) { - map = createMap('canvas', 1); + createMap('canvas', 1); var source = createSource(0); tilesLoaded(source, function() { 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) { assertWebGL(); - map = createMap('webgl', 1); + createMap('webgl', 1); var source = createSource(0); tilesLoaded(source, function() { 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() { it('tests the canvas renderer', function(done) { - map = createMap('canvas', 2); + createMap('canvas', 2); var source = createSource(0); tilesLoaded(source, function() { 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) { assertWebGL(); - map = createMap('webgl', 2); + createMap('webgl', 2); var source = createSource(0); tilesLoaded(source, function() { 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() { it('tests the canvas renderer', function(done) { - map = createMap('canvas', 1); + createMap('canvas', 1); var source = createSource(20); tilesLoaded(source, function() { 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) { assertWebGL(); - map = createMap('webgl', 1); + createMap('webgl', 1); var source = createSource(20); tilesLoaded(source, function() { 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() { it('tests the canvas renderer', function(done) { - map = createMap('canvas', 2); + createMap('canvas', 2); var source = createSource(20); tilesLoaded(source, function() { 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) { assertWebGL(); - map = createMap('webgl', 2); + createMap('webgl', 2); var source = createSource(20); tilesLoaded(source, function() { expectResemble(map, 'rendering/ol/source/expected/20_2.webgl.png', IMAGE_TOLERANCE, done); diff --git a/test/rendering/ol/style/circle.test.js b/test/rendering/ol/style/circle.test.js index 5e6e78a149..2392a07c77 100644 --- a/test/rendering/ol/style/circle.test.js +++ b/test/rendering/ol/style/circle.test.js @@ -14,18 +14,16 @@ goog.require('ol.style.Stroke'); describe('ol.rendering.style.Circle', function() { - var target, map, vectorSource; + var map, vectorSource; function createMap(renderer) { - target = createMapDiv(50, 50); - vectorSource = new ol.source.Vector(); var vectorLayer = new ol.layer.Vector({ source: vectorSource }); map = new ol.Map({ - target: target, + target: createMapDiv(50, 50), renderer: renderer, layers: [vectorLayer], view: new ol.View({ @@ -34,13 +32,16 @@ describe('ol.rendering.style.Circle', function() { resolution: 1 }) }); - return map; } - describe('#render', function() { - afterEach(function() { + afterEach(function() { + if (map) { disposeMap(map); - }); + map = null; + } + }); + + describe('#render', function() { function createFeatures() { var feature; @@ -184,7 +185,7 @@ describe('ol.rendering.style.Circle', function() { } it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); createFeatures(); expectResemble(map, 'rendering/ol/style/expected/circle-canvas.png', 8.0, done); @@ -192,7 +193,7 @@ describe('ol.rendering.style.Circle', function() { where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); createFeatures(); expectResemble(map, 'rendering/ol/style/expected/circle-webgl.png', 8.0, done); diff --git a/test/rendering/ol/style/icon.test.js b/test/rendering/ol/style/icon.test.js index 67759ee524..9db2f15d6a 100644 --- a/test/rendering/ol/style/icon.test.js +++ b/test/rendering/ol/style/icon.test.js @@ -12,7 +12,7 @@ goog.require('ol.style.Style'); describe('ol.rendering.style.Icon', function() { - var target, map, vectorSource; + var map, vectorSource; var imgInfo = { anchor: [0.5, 46], @@ -24,15 +24,13 @@ describe('ol.rendering.style.Icon', function() { }; function createMap(renderer, width, height) { - target = createMapDiv(width ? width : 50, height ? height : 50); - vectorSource = new ol.source.Vector(); var vectorLayer = new ol.layer.Vector({ source: vectorSource }); map = new ol.Map({ - target: target, + target: createMapDiv(width ? width : 50, height ? height : 50), renderer: renderer, layers: [vectorLayer], view: new ol.View({ @@ -41,13 +39,16 @@ describe('ol.rendering.style.Icon', function() { resolution: 1 }) }); - return map; } - describe('#render', function() { - afterEach(function() { + afterEach(function() { + if (map) { disposeMap(map); - }); + map = null; + } + }); + + describe('#render', function() { function createFeatures(src, imgInfo, callback) { var feature; @@ -68,7 +69,7 @@ describe('ol.rendering.style.Icon', function() { } it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); createFeatures('rendering/ol/data/icon.png', imgInfo, function() { expectResemble(map, 'rendering/ol/style/expected/icon-canvas.png', IMAGE_TOLERANCE, done); @@ -76,7 +77,7 @@ describe('ol.rendering.style.Icon', function() { }); 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', { scale: 96 / 512, imgSize: [512, 512] @@ -87,7 +88,7 @@ describe('ol.rendering.style.Icon', function() { }); 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', { offset: [0, 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) { - map = createMap('canvas', 256, 512); + createMap('canvas', 256, 512); createFeatures('rendering/ol/data/me0.svg', { offset: [0, 374], size: [256, 256], @@ -112,7 +113,7 @@ describe('ol.rendering.style.Icon', function() { where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); createFeatures('rendering/ol/data/icon.png', imgInfo, function() { expectResemble(map, 'rendering/ol/style/expected/icon-webgl.png', 2.0, done); diff --git a/test/rendering/ol/style/linestring.test.js b/test/rendering/ol/style/linestring.test.js index 5ebe3ac9f1..e9cb82c58c 100644 --- a/test/rendering/ol/style/linestring.test.js +++ b/test/rendering/ol/style/linestring.test.js @@ -12,11 +12,9 @@ goog.require('ol.style.Stroke'); describe('ol.rendering.style.LineString', function() { - var target, map, vectorSource; + var map, vectorSource; function createMap(renderer, opt_pixelRatio) { - target = createMapDiv(50, 50); - vectorSource = new ol.source.Vector(); var vectorLayer = new ol.layer.Vector({ source: vectorSource @@ -24,7 +22,7 @@ describe('ol.rendering.style.LineString', function() { map = new ol.Map({ pixelRatio: opt_pixelRatio || 1, - target: target, + target: createMapDiv(50, 50), renderer: renderer, layers: [vectorLayer], view: new ol.View({ @@ -33,13 +31,16 @@ describe('ol.rendering.style.LineString', function() { resolution: 1 }) }); - return map; } - describe('different strokes', function() { - afterEach(function() { + afterEach(function() { + if (map) { disposeMap(map); - }); + map = null; + } + }); + + describe('different strokes', function() { function createFeatures() { var feature; @@ -111,7 +112,7 @@ describe('ol.rendering.style.LineString', function() { } it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); createFeatures(); expectResemble( 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) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); createFeatures(); expectResemble(map, 'rendering/ol/style/expected/linestring-strokes-webgl.png', 14.6, done); }); it('tests the canvas renderer (HiDPI)', function(done) { - map = createMap('canvas', 2); + createMap('canvas', 2); createFeatures(); expectResemble( map, 'rendering/ol/style/expected/linestring-strokes-canvas-hidpi.png', diff --git a/test/rendering/ol/style/polygon.test.js b/test/rendering/ol/style/polygon.test.js index d5eea4efec..1974077206 100644 --- a/test/rendering/ol/style/polygon.test.js +++ b/test/rendering/ol/style/polygon.test.js @@ -13,11 +13,10 @@ goog.require('ol.style.Stroke'); describe('ol.rendering.style.Polygon', function() { - var target, map, vectorSource; + var map, vectorSource; function createMap(renderer, opt_size) { var size = opt_size || 50; - target = createMapDiv(size, size); vectorSource = new ol.source.Vector(); var vectorLayer = new ol.layer.Vector({ @@ -25,7 +24,7 @@ describe('ol.rendering.style.Polygon', function() { }); map = new ol.Map({ - target: target, + target: createMapDiv(size, size), renderer: renderer, layers: [vectorLayer], view: new ol.View({ @@ -34,13 +33,16 @@ describe('ol.rendering.style.Polygon', function() { resolution: 1 }) }); - return map; } - describe('different types', function() { - afterEach(function() { + afterEach(function() { + if (map) { disposeMap(map); - }); + map = null; + } + }); + + describe('different types', function() { function createFeatures() { 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) { - map = createMap('canvas'); + createMap('canvas'); createFeatures(); expectResemble(map, 'rendering/ol/style/expected/polygon-types-canvas.png', IMAGE_TOLERANCE, done); }); where('WebGL').it('tests the webgl renderer', function(done) { - map = createMap('webgl'); + createMap('webgl'); createFeatures(); expectResemble(map, 'rendering/ol/style/expected/polygon-types-webgl.png', IMAGE_TOLERANCE, done); @@ -101,9 +103,6 @@ describe('ol.rendering.style.Polygon', function() { }); describe('different types with stroke', function() { - afterEach(function() { - disposeMap(map); - }); function createFeatures() { var stroke = new ol.style.Stroke({ @@ -154,7 +153,7 @@ describe('ol.rendering.style.Polygon', function() { } it('tests the canvas renderer', function(done) { - map = createMap('canvas', 100); + createMap('canvas', 100); map.getView().setResolution(0.5); createFeatures(); 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) { - map = createMap('webgl', 100); + createMap('webgl', 100); map.getView().setResolution(0.5); createFeatures(); 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() { - afterEach(function() { - disposeMap(map); - }); function createFeatures() { var feature; @@ -216,14 +212,14 @@ describe('ol.rendering.style.Polygon', function() { } it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); createFeatures(); expectResemble(map, 'rendering/ol/style/expected/polygon-zindex-canvas.png', IMAGE_TOLERANCE, done); }); where('WebGL').it('tests the webgl renderer', function(done) { - map = createMap('webgl'); + createMap('webgl'); createFeatures(); expectResemble(map, 'rendering/ol/style/expected/polygon-zindex-webgl.png', IMAGE_TOLERANCE, done); @@ -231,9 +227,6 @@ describe('ol.rendering.style.Polygon', function() { }); describe('different fills and strokes', function() { - afterEach(function() { - disposeMap(map); - }); function createFeatures() { var feature; @@ -275,7 +268,7 @@ describe('ol.rendering.style.Polygon', function() { } it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); createFeatures(); expectResemble( 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) { - map = createMap('webgl'); + createMap('webgl'); createFeatures(); expectResemble( 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() { - afterEach(function() { - disposeMap(map); - }); function createRainbowGradient() { var canvas = document.createElement('canvas'); @@ -340,7 +330,7 @@ describe('ol.rendering.style.Polygon', function() { } it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); createFeatures(); expectResemble( map, 'rendering/ol/style/expected/polygon-pattern-gradient-canvas.png', diff --git a/test/rendering/ol/style/regularshape.test.js b/test/rendering/ol/style/regularshape.test.js index 613ba0b015..c8681fa6d5 100644 --- a/test/rendering/ol/style/regularshape.test.js +++ b/test/rendering/ol/style/regularshape.test.js @@ -14,18 +14,16 @@ goog.require('ol.style.Stroke'); describe('ol.rendering.style.RegularShape', function() { - var target, map, vectorSource; + var map, vectorSource; function createMap(renderer) { - target = createMapDiv(50, 50); - vectorSource = new ol.source.Vector(); var vectorLayer = new ol.layer.Vector({ source: vectorSource }); map = new ol.Map({ - target: target, + target: createMapDiv(50, 50), renderer: renderer, layers: [vectorLayer], view: new ol.View({ @@ -34,11 +32,16 @@ describe('ol.rendering.style.RegularShape', function() { resolution: 1 }) }); - return map; } - function createFeatures(stroke, fill) { + afterEach(function() { + if (map) { + disposeMap(map); + map = null; + } + }); + function createFeatures(stroke, fill) { var feature; feature = new ol.Feature({ 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 fill = new ol.style.Fill({color: 'red'}); - afterEach(function() { - disposeMap(map); - }); - it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); createFeatures(stroke, fill); 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) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); createFeatures(stroke, fill); 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 fill = new ol.style.Fill(); - afterEach(function() { - disposeMap(map); - }); - it('tests the canvas renderer', function(done) { - map = createMap('canvas'); + createMap('canvas'); createFeatures(stroke, fill); expectResemble(map, 'rendering/ol/style/expected/regularshape-canvas-default-style.png', 3.0, done); }); where('WebGL').it('tests the WebGL renderer', function(done) { assertWebGL(); - map = createMap('webgl'); + createMap('webgl'); createFeatures(stroke, fill); expectResemble(map, 'rendering/ol/style/expected/regularshape-webgl-default-style.png', 3.0, done); }); diff --git a/test/rendering/ol/style/text.test.js b/test/rendering/ol/style/text.test.js index 135c5617e0..ec6ea416e5 100644 --- a/test/rendering/ol/style/text.test.js +++ b/test/rendering/ol/style/text.test.js @@ -13,18 +13,16 @@ goog.require('ol.style.Stroke'); describe('ol.rendering.style.Text', function() { - var target, map, vectorSource; + var map, vectorSource; function createMap(renderer) { - target = createMapDiv(200, 200); - vectorSource = new ol.source.Vector(); var vectorLayer = new ol.layer.Vector({ source: vectorSource }); map = new ol.Map({ - target: target, + target: createMapDiv(200, 200), renderer: renderer, layers: [vectorLayer], view: new ol.View({ @@ -33,13 +31,16 @@ describe('ol.rendering.style.Text', function() { resolution: 1 }) }); - return map; } - describe('#render', function() { - afterEach(function() { + afterEach(function() { + if (map) { disposeMap(map); - }); + map = null; + } + }); + + describe('#render', function() { function createFeatures() { var feature; @@ -86,30 +87,29 @@ describe('ol.rendering.style.Text', function() { }) })); vectorSource.addFeature(feature); - } it('tests the canvas renderer without rotation', function(done) { - map = createMap('canvas'); + createMap('canvas'); createFeatures(); expectResemble(map, 'rendering/ol/style/expected/text-canvas.png', IMAGE_TOLERANCE, done); }); it('tests the canvas renderer with rotation', function(done) { - map = createMap('canvas'); + createMap('canvas'); createFeatures(); map.getView().setRotation(Math.PI / 7); expectResemble(map, 'rendering/ol/style/expected/text-rotated-canvas.png', IMAGE_TOLERANCE, done); }); where('WebGL').it('tests the webgl renderer without rotation', function(done) { - map = createMap('webgl'); + createMap('webgl'); createFeatures(); expectResemble(map, 'rendering/ol/style/expected/text-webgl.png', 1.8, done); }); where('WebGL').it('tests the webgl renderer with rotation', function(done) { - map = createMap('webgl'); + createMap('webgl'); createFeatures(); map.getView().setRotation(Math.PI / 7); expectResemble(map, 'rendering/ol/style/expected/text-rotated-webgl.png', 1.8, done); diff --git a/test/spec/ol/interaction/extent.test.js b/test/spec/ol/interaction/extent.test.js index acdb85865a..fd1520e28f 100644 --- a/test/spec/ol/interaction/extent.test.js +++ b/test/spec/ol/interaction/extent.test.js @@ -7,22 +7,13 @@ goog.require('ol.interaction.Extent'); goog.require('ol.pointer.PointerEvent'); describe('ol.interaction.Extent', function() { - - var target, map, interaction; + var map, interaction; var width = 360; var height = 180; - beforeEach(function(done) { - target = document.createElement('div'); - - 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); + beforeEach(function() { + var target = createMapDiv(width, height); map = new ol.Map({ target: target, @@ -33,18 +24,18 @@ describe('ol.interaction.Extent', function() { resolution: 1 }) }); - - map.once('postrender', function() { - done(); - }); + map.renderSync(); interaction = new ol.interaction.Extent(); map.addInteraction(interaction); }); afterEach(function() { - map.dispose(); - document.body.removeChild(target); + if (map) { + 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_([231, 41], map)).to.eql([50, 50]); }); + it('snap to edge works', function() { interaction.setExtent([-50, -50, 50, 50]); diff --git a/test/spec/ol/source/raster.test.js b/test/spec/ol/source/raster.test.js index 6d4d44458e..90017bfeeb 100644 --- a/test/spec/ol/source/raster.test.js +++ b/test/spec/ol/source/raster.test.js @@ -22,7 +22,7 @@ var blue = 'data:image/gif;base64,R0lGODlhAQABAPAAAAAA/////yH5BAAAAAAALAAAAA' + where('Uint8ClampedArray').describe('ol.source.Raster', function() { - var target, map, redSource, greenSource, blueSource, raster; + var map, target, redSource, greenSource, blueSource, raster; beforeEach(function() { target = document.createElement('div'); @@ -79,13 +79,14 @@ where('Uint8ClampedArray').describe('ol.source.Raster', function() { }); afterEach(function() { - map.setTarget(null); - map.dispose(); + if (map) { + disposeMap(map); + } + map = null; raster.dispose(); greenSource.dispose(); redSource.dispose(); blueSource.dispose(); - document.body.removeChild(target); }); describe('constructor', function() { @@ -304,9 +305,10 @@ where('Uint8ClampedArray').describe('ol.source.Raster', function() { }); describe('tile loading', function() { - beforeEach(function() { - map.setTarget(null); - map.dispose(); + var map2; + afterEach(function() { + disposeMap(map2); + map2 = null; }); 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, view: new ol.View({ center: [0, 0], @@ -340,7 +342,7 @@ where('Uint8ClampedArray').describe('ol.source.Raster', function() { expect(tileCache.getCount()).to.equal(0); - map.once('moveend', function() { + map2.once('moveend', function() { expect(tileCache.getCount()).to.equal(1); var state = tileCache.peekLast().getState(); expect(state === ol.TileState.LOADED || state === ol.TileState.LOADED).to.be(true);