From c8c1578928e8b87e6e4cdc28a00ba8cb8b8b536e Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Tue, 13 Sep 2016 16:32:55 +0200 Subject: [PATCH] Add rendering tests for simplified polygons --- .../vector-canvas-simplified-fill.png | Bin 0 -> 254 bytes .../vector-canvas-simplified-stroke.png | Bin 0 -> 392 bytes .../expected/vector-canvas-simplified.png | Bin 0 -> 341 bytes test_rendering/spec/ol/layer/vector.test.js | 87 ++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 test_rendering/spec/ol/layer/expected/vector-canvas-simplified-fill.png create mode 100644 test_rendering/spec/ol/layer/expected/vector-canvas-simplified-stroke.png create mode 100644 test_rendering/spec/ol/layer/expected/vector-canvas-simplified.png diff --git a/test_rendering/spec/ol/layer/expected/vector-canvas-simplified-fill.png b/test_rendering/spec/ol/layer/expected/vector-canvas-simplified-fill.png new file mode 100644 index 0000000000000000000000000000000000000000..47956d701140e5ce3166398ee5877cf7bd1a5f02 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^DImBDjPD$Z{2MWYKKmQ1TFT5pe8MXyOQ>l9Hc}6PN>+CU1I{xONiA NiJq>0F6*2UngC)cOmP4J literal 0 HcmV?d00001 diff --git a/test_rendering/spec/ol/layer/expected/vector-canvas-simplified-stroke.png b/test_rendering/spec/ol/layer/expected/vector-canvas-simplified-stroke.png new file mode 100644 index 0000000000000000000000000000000000000000..035e1537d27546e8a37f2b5b145c80e5202b30e8 GIT binary patch literal 392 zcmeAS@N?(olHy`uVBq!ia0vp^DIm0 zX830q9-EfLetD8?M5}7YM4u=A52OWz@7F!}X1Ipc{9gO-vq0@=;6UoGSu+oxyLXl^ z@5j$|+v^G*m8IQFdv^Hu*S+V@+})NR_r6ZDdgjdKbN5_-y6iGvp5^}MPnSIgiOW1W z-_FGUx%BemdihVjZ|Ac_x=#>HF=xr-VI68%Pw9ku?(3@x8GRp;LE+=+>gTe~DWM4f DKFx1N literal 0 HcmV?d00001 diff --git a/test_rendering/spec/ol/layer/expected/vector-canvas-simplified.png b/test_rendering/spec/ol/layer/expected/vector-canvas-simplified.png new file mode 100644 index 0000000000000000000000000000000000000000..26c028bcda55b21b45432783f4f761c4cab21e56 GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0vp^DImqTkl zPK9S}c}LFNSbByp?dmUIHWuMhCe0@@6+hpu;|1zN1OJx)&h6h=&6V?`ivN1uhx|P` z)wj!bDZfPOR_~X3j&UD;JiDT>|;p)78&qol`;+02K3qYybcN literal 0 HcmV?d00001 diff --git a/test_rendering/spec/ol/layer/vector.test.js b/test_rendering/spec/ol/layer/vector.test.js index 0ab45d9762..563d231fb4 100644 --- a/test_rendering/spec/ol/layer/vector.test.js +++ b/test_rendering/spec/ol/layer/vector.test.js @@ -271,4 +271,91 @@ describe('ol.rendering.layer.Vector', function() { }); }); + describe('Polygon simplification', function() { + + var layer, map; + + beforeEach(function() { + var src = new ol.source.Vector({ + features: [ + new ol.Feature(new ol.geom.Polygon([[ + [-22, 58], + [-22, 78], + [-9, 78], + [-9, 58], + [-22, 58] + ]])), + new ol.Feature(new ol.geom.Polygon([[ + [-9, 58], + [-9, 78], + [4, 78], + [4, 58], + [-9, 58] + ]])) + ] + }); + layer = new ol.layer.Vector({ + renderBuffer: 0, + source: src + }); + var view = new ol.View({ + center: [-9.5, 78], + zoom: 2, + projection: 'EPSG:4326' + }); + + map = new ol.Map({ + layers: [layer], + target: createMapDiv(100, 100), + view: view + }); + }); + + afterEach(function() { + disposeMap(map); + }); + + it('renders partially out-of-view polygons with a fill and stroke', function(done) { + layer.setStyle(new ol.style.Style({ + stroke: new ol.style.Stroke({ + color: [0, 0, 0, 1], + width: 2 + }), + fill: new ol.style.Fill({ + color: [255, 0, 0, 1] + }) + })); + map.once('postrender', function() { + expectResemble(map, 'spec/ol/layer/expected/vector-canvas-simplified.png', + IMAGE_TOLERANCE, done); + }); + }); + + it('renders partially out-of-view polygons with a fill', function(done) { + layer.setStyle(new ol.style.Style({ + fill: new ol.style.Fill({ + color: [0, 0, 0, 1] + }) + })); + map.once('postrender', function() { + expectResemble(map, 'spec/ol/layer/expected/vector-canvas-simplified-fill.png', + IMAGE_TOLERANCE, done); + }); + }); + + it('renders partially out-of-view polygons with a stroke', function(done) { + layer.setStyle(new ol.style.Style({ + stroke: new ol.style.Stroke({ + color: [0, 0, 0, 1], + width: 2 + }) + })); + map.once('postrender', function() { + expectResemble(map, 'spec/ol/layer/expected/vector-canvas-simplified-stroke.png', + IMAGE_TOLERANCE, done); + }); + }); + + }); + });