diff --git a/test_rendering/spec/ol/expected/render-polygon-linedash.png b/test_rendering/spec/ol/expected/render-polygon-linedash.png new file mode 100644 index 0000000000..73ca5f7402 Binary files /dev/null and b/test_rendering/spec/ol/expected/render-polygon-linedash.png differ diff --git a/test_rendering/spec/ol/expected/render-polygon-linedashoffset.png b/test_rendering/spec/ol/expected/render-polygon-linedashoffset.png new file mode 100644 index 0000000000..c9c9f1b3de Binary files /dev/null and b/test_rendering/spec/ol/expected/render-polygon-linedashoffset.png differ diff --git a/test_rendering/spec/ol/render.test.js b/test_rendering/spec/ol/render.test.js index 1c2796512d..b9d5c1d583 100644 --- a/test_rendering/spec/ol/render.test.js +++ b/test_rendering/spec/ol/render.test.js @@ -135,6 +135,49 @@ describe('ol.render', function() { }); + it('supports lineDash styles', function(done) { + var vectorContext = ol.render.toContext(context, {size: [100, 100]}); + + var style = new ol.style.Style({ + stroke: new ol.style.Stroke({ + lineDash: [10, 5] + }) + }); + + vectorContext.setStyle(style); + + vectorContext.drawGeometry(new ol.geom.Polygon([ + [[25, 25], [75, 25], [75, 75], [25, 75], [25, 25]], + [[40, 40], [40, 60], [60, 60], [60, 40], [40, 40]] + ])); + + resembleCanvas(context.canvas, + 'spec/ol/expected/render-polygon-linedash.png', IMAGE_TOLERANCE, done); + + }); + + it('supports lineDashOffset', function(done) { + var vectorContext = ol.render.toContext(context, {size: [100, 100]}); + + var style = new ol.style.Style({ + stroke: new ol.style.Stroke({ + lineDash: [10, 5], + lineDashOffset: 5 + }) + }); + + vectorContext.setStyle(style); + + vectorContext.drawGeometry(new ol.geom.Polygon([ + [[25, 25], [75, 25], [75, 75], [25, 75], [25, 25]], + [[40, 40], [40, 60], [60, 60], [60, 40], [40, 40]] + ])); + + resembleCanvas(context.canvas, + 'spec/ol/expected/render-polygon-linedashoffset.png', IMAGE_TOLERANCE, done); + + }); + }); }); diff --git a/test_rendering/spec/ol/style/expected/regularshape-canvas-linedash.png b/test_rendering/spec/ol/style/expected/regularshape-canvas-linedash.png new file mode 100644 index 0000000000..b0d7f51993 Binary files /dev/null and b/test_rendering/spec/ol/style/expected/regularshape-canvas-linedash.png differ diff --git a/test_rendering/spec/ol/style/expected/regularshape-canvas-linedashoffset.png b/test_rendering/spec/ol/style/expected/regularshape-canvas-linedashoffset.png new file mode 100644 index 0000000000..3723123e3d Binary files /dev/null and b/test_rendering/spec/ol/style/expected/regularshape-canvas-linedashoffset.png differ diff --git a/test_rendering/spec/ol/style/regularshape.test.js b/test_rendering/spec/ol/style/regularshape.test.js index 595421301d..5f65b15f69 100644 --- a/test_rendering/spec/ol/style/regularshape.test.js +++ b/test_rendering/spec/ol/style/regularshape.test.js @@ -119,6 +119,23 @@ describe('ol.rendering.style.RegularShape', function() { expectResemble(map, 'spec/ol/style/expected/regularshape-canvas.png', 9.4, done); }); + it('supports lineDash', function(done) { + map = createMap('canvas'); + createFeatures(new ol.style.Stroke({ + lineDash: [10, 5] + })); + expectResemble(map, 'spec/ol/style/expected/regularshape-canvas-linedash.png', 5, done); + }); + + it('supports lineDashOffset', function(done) { + map = createMap('canvas'); + createFeatures(new ol.style.Stroke({ + lineDash: [10, 5], + lineDashOffset: 5 + })); + expectResemble(map, 'spec/ol/style/expected/regularshape-canvas-linedashoffset.png', 5, done); + }); + it('tests the WebGL renderer', function(done) { assertWebGL(); map = createMap('webgl');