From 912e9080320ed4cf44173e2ea518e7df3239fb5e Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Sun, 22 Oct 2017 14:30:35 +0200 Subject: [PATCH] Test decluttered hit detection --- test/rendering/ol/layer/vector.test.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/test/rendering/ol/layer/vector.test.js b/test/rendering/ol/layer/vector.test.js index 644391235f..bca13ea6ad 100644 --- a/test/rendering/ol/layer/vector.test.js +++ b/test/rendering/ol/layer/vector.test.js @@ -477,10 +477,11 @@ describe('ol.rendering.layer.Vector', function() { }); map.addLayer(layer); - source.addFeature(new ol.Feature({ + var centerFeature = new ol.Feature({ geometry: new ol.geom.Point(center), text: 'center' - })); + }); + source.addFeature(centerFeature); source.addFeature(new ol.Feature({ geometry: new ol.geom.Point([center[0] - 550, center[1]]), text: 'west' @@ -501,6 +502,9 @@ describe('ol.rendering.layer.Vector', function() { }); map.once('postrender', function() { + var hitDetected = map.getFeaturesAtPixel([42, 42]); + expect(hitDetected).to.have.length(1); + expect(hitDetected[0]).to.equal(centerFeature); expectResemble(map, 'rendering/ol/layer/expected/vector-canvas-declutter.png', 2.2, done); }); @@ -553,9 +557,10 @@ describe('ol.rendering.layer.Vector', function() { }); map.addLayer(layer); - source.addFeature(new ol.Feature({ + var centerFeature = new ol.Feature({ geometry: new ol.geom.Point(center) - })); + }); + source.addFeature(centerFeature); source.addFeature(new ol.Feature({ geometry: new ol.geom.Point([center[0] - 550, center[1]]) })); @@ -576,6 +581,9 @@ describe('ol.rendering.layer.Vector', function() { }); map.once('postrender', function() { + var hitDetected = map.getFeaturesAtPixel([40, 40]); + expect(hitDetected).to.have.length(1); + expect(hitDetected[0]).to.equal(centerFeature); expectResemble(map, 'rendering/ol/layer/expected/vector-canvas-declutter-image.png', IMAGE_TOLERANCE, done); }); @@ -747,6 +755,9 @@ describe('ol.rendering.layer.Vector', function() { layer.setDeclutter(true); map.once('postrender', function() { + var hitDetected = map.getFeaturesAtPixel([35, 46]); + expect(hitDetected).to.have.length(1); + expect(hitDetected[0]).to.equal(line); expectResemble(map, 'rendering/ol/layer/expected/vector-canvas-declutter-line-zindex.png', 4.1, done); });