From 23611508141afd84182b2bd46a54001c6beb4692 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Tue, 15 Jun 2021 20:01:55 +0200 Subject: [PATCH] Add regression test --- .../browser/spec/ol/source/vectortile.test.js | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/test/browser/spec/ol/source/vectortile.test.js b/test/browser/spec/ol/source/vectortile.test.js index 290938c3bb..cc80dbf9dc 100644 --- a/test/browser/spec/ol/source/vectortile.test.js +++ b/test/browser/spec/ol/source/vectortile.test.js @@ -183,6 +183,48 @@ describe('ol.source.VectorTile', function () { }); tile.load(); }); + it('triggers events and loads source tile properly for wrapX counterpart', function (done) { + const tile1 = source.getTile( + 14, + 8938, + 5680, + 1, + getProjection('EPSG:3857') + ); + const tile2 = source.getTile( + 14, + 8938 + Math.pow(2, 14), + 5680, + 1, + getProjection('EPSG:3857') + ); + expect(tile2.wrappedTileCoord).to.eql([14, 8938, 5680]); + let loadstart = 0; + source.on('tileloadstart', function () { + ++loadstart; + }); + let loadend = 0; + source.on('tileloadend', function (e) { + ++loadend; + }); + let loaded = 0; + [tile1, tile2].forEach((tile) => { + tile.addEventListener('change', (e) => { + if (e.target.getState() === TileState.LOADED) { + const sourceTiles = e.target.getSourceTiles(); + expect(sourceTiles.length).to.be(1); + expect(sourceTiles[0].getState()).to.be(TileState.LOADED); + ++loaded; + if (loaded === 2) { + expect(loadstart).to.be(1); + expect(loadend).to.be(1); + done(); + } + } + }); + tile.load(); + }); + }); }); describe('different source and render tile grids', function () {