From e7dc09cf9f159bb0c3eabd98e3ad4bfb624ca2e4 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Tue, 9 May 2017 14:25:28 +0200 Subject: [PATCH] Add more tests --- test/spec/ol/vectorimagetile.test.js | 44 +++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/test/spec/ol/vectorimagetile.test.js b/test/spec/ol/vectorimagetile.test.js index fa3862f5dc..8abe2ef5a9 100644 --- a/test/spec/ol/vectorimagetile.test.js +++ b/test/spec/ol/vectorimagetile.test.js @@ -56,10 +56,52 @@ describe('ol.VectorImageTile', function() { tile.load(); - ol.events.listen(tile, 'change', function(e) { + ol.events.listen(tile, 'change', function() { expect(tile.getState()).to.be(ol.TileState.EMPTY); done(); }); }); + it('#dispose() while loading', function() { + var format = new ol.format.GeoJSON(); + var url = 'spec/ol/data/point.json'; + var tile = new ol.VectorImageTile([0, 0, 0], 0, url, format, + ol.VectorImageTile.defaultLoadFunction, [0, 0, 0], function() { + return url; + }, ol.tilegrid.createXYZ(), ol.tilegrid.createXYZ({tileSize: 512}), {}, + 1, ol.proj.get('EPSG:3857'), ol.VectorTile); + + tile.load(); + expect(tile.loadListenerKeys_.length).to.be(4); + expect(tile.tileKeys.length).to.be(4); + expect(tile.getState()).to.be(ol.TileState.LOADING); + tile.dispose(); + expect(tile.loadListenerKeys_.length).to.be(0); + expect(tile.tileKeys.length).to.be(0); + expect(tile.sourceTiles_).to.be(null); + expect(tile.getState()).to.be(ol.TileState.ABORT); + }); + + it('#dispose() when loaded', function(done) { + var format = new ol.format.GeoJSON(); + var url = 'spec/ol/data/point.json'; + var tile = new ol.VectorImageTile([0, 0, 0], 0, url, format, + ol.VectorImageTile.defaultLoadFunction, [0, 0, 0], function() { + return url; + }, ol.tilegrid.createXYZ(), ol.tilegrid.createXYZ({tileSize: 512}), {}, + 1, ol.proj.get('EPSG:3857'), ol.VectorTile); + + tile.load(); + ol.events.listenOnce(tile, 'change', function() { + expect(tile.getState()).to.be(ol.TileState.LOADED); + expect(tile.loadListenerKeys_.length).to.be(0); + expect(tile.tileKeys.length).to.be(4); + tile.dispose(); + expect(tile.tileKeys.length).to.be(0); + expect(tile.sourceTiles_).to.be(null); + expect(tile.getState()).to.be(ol.TileState.ABORT); + done(); + }); + }); + });