From 274593feefced226d821929679d265ddbe0f2662 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Thu, 11 Aug 2016 15:51:42 +0200 Subject: [PATCH] Add rendering test for closed paths --- .../expected/polygon-types-canvas-stroke.png | Bin 0 -> 628 bytes test_rendering/spec/ol/style/polygon.test.js | 67 +++++++++++++++++- 2 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 test_rendering/spec/ol/style/expected/polygon-types-canvas-stroke.png diff --git a/test_rendering/spec/ol/style/expected/polygon-types-canvas-stroke.png b/test_rendering/spec/ol/style/expected/polygon-types-canvas-stroke.png new file mode 100644 index 0000000000000000000000000000000000000000..4fd104c62b5c589559d30e70fc46a255adeaa85c GIT binary patch literal 628 zcmeAS@N?(olHy`uVBq!ia0vp^DImAQBQ#GGtZtfR=DoGWovtp zVBPXrtNlIe3oX)~-T39pUUq%Q>+hOUrGM>Q7q7d&JmbvQ-y(&7^Hw07hH&ktrqc=n z#vDg@m<*d8&H$M?%$A${E7RgHY+Qfx#}=L^H*3Ah;xFu7U-{&+-h@|nPuJHrp5FIt zp8swKk>69?e={wwJ*zvvtWjg%W%;+Ak!!an-Rsz(7&HS2ur=VE%spi?{a!xs$fvXJlY_;QNE|;h*Hfo|CN3z=Xlz M>FVdQ&MBb@0GCWDdjJ3c literal 0 HcmV?d00001 diff --git a/test_rendering/spec/ol/style/polygon.test.js b/test_rendering/spec/ol/style/polygon.test.js index 4fc152fe20..d9d6845bab 100644 --- a/test_rendering/spec/ol/style/polygon.test.js +++ b/test_rendering/spec/ol/style/polygon.test.js @@ -15,8 +15,9 @@ describe('ol.rendering.style.Polygon', function() { var target, map, vectorSource; - function createMap(renderer) { - target = createMapDiv(50, 50); + function createMap(renderer, opt_size) { + var size = opt_size || 50; + target = createMapDiv(size, size); vectorSource = new ol.source.Vector(); var vectorLayer = new ol.layer.Vector({ @@ -92,6 +93,68 @@ describe('ol.rendering.style.Polygon', function() { }); }); + describe('different types with stroke', function() { + afterEach(function() { + disposeMap(map); + }); + + function createFeatures() { + var stroke = new ol.style.Stroke({ + width: 10, + color: '#000', + lineJoin: 'round', + lineCap: 'butt' + }); + + var feature; + // rectangle + feature = new ol.Feature({ + geometry: new ol.geom.Polygon([ + [[-20, 10], [-20, 20], [-5, 20], [-5, 10], [-20, 10]] + ]) + }); + feature.setStyle(new ol.style.Style({ + stroke: stroke + })); + vectorSource.addFeature(feature); + + // rectangle with 1 hole + feature = new ol.Feature({ + geometry: new ol.geom.Polygon([ + [[0, 10], [0, 20], [20, 20], [20, 10], [0, 10]], + [[5, 13], [10, 13], [10, 17], [5, 17], [5, 13]] + + ]) + }); + feature.setStyle(new ol.style.Style({ + stroke: stroke + })); + vectorSource.addFeature(feature); + + // rectangle with 2 holes + feature = new ol.Feature({ + geometry: new ol.geom.Polygon([ + [[-20, -20], [-20, 5], [20, 5], [20, -20], [-20, -20]], + [[-12, -12], [-8, -12], [-8, -3], [-12, -3], [-12, -3]], + [[0, -12], [13, -12], [13, -3], [0, -3], [0, -12]] + + ]) + }); + feature.setStyle(new ol.style.Style({ + stroke: stroke + })); + vectorSource.addFeature(feature); + } + + it('tests the canvas renderer', function(done) { + map = createMap('canvas', 100); + map.getView().setResolution(0.5); + createFeatures(); + expectResemble(map, 'spec/ol/style/expected/polygon-types-canvas-stroke.png', + IMAGE_TOLERANCE, done); + }); + }); + describe('z-index', function() { afterEach(function() { disposeMap(map);