From 3e31551962100b75383d4d1f521105fe79c7e421 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Wed, 20 Nov 2019 00:52:18 +0100 Subject: [PATCH] Improved tests --- test/spec/ol/layer/vectortile.test.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/test/spec/ol/layer/vectortile.test.js b/test/spec/ol/layer/vectortile.test.js index 171b7c5f64..6f93c45cf2 100644 --- a/test/spec/ol/layer/vectortile.test.js +++ b/test/spec/ol/layer/vectortile.test.js @@ -125,7 +125,32 @@ describe('ol.layer.VectorTile', function() { layer.getFeatures(pixel).then(function(features) { expect(features[0].get('name')).to.be('feature1'); done(); - }); + }).catch(done); + }); + }); + + it('does not give false positives', function(done) { + map.once('rendercomplete', function() { + const pixel = map.getPixelFromCoordinate(fromLonLat([0, 0])); + layer.getFeatures(pixel).then(function(features) { + expect(features.length).to.be(0); + done(); + }).catch(done); + }); + }); + + it('stores separate hit detection data for each layer that uses the source', function(done) { + const layer2 = new VectorTileLayer({ + source: layer.getSource() + }); + map.addLayer(layer2); + map.once('rendercomplete', function() { + const pixel = map.getPixelFromCoordinate(fromLonLat([-36, 0])); + Promise.all([layer.getFeatures(pixel), layer2.getFeatures(pixel)]).then(function(result) { + const tile = layer.getSource().tileCache.get('0/0/0'); + expect(Object.keys(tile.hitDetectionImageData).length).to.be(2); + done(); + }).catch(done); }); });