From 7e821da0b5432fa78251316eb8055c319b9fcc03 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Mon, 5 Oct 2009 22:34:16 +0000 Subject: [PATCH] Write out stroke dash style and linecap in SLD. r=ahocevar (closes #2270) git-svn-id: http://svn.openlayers.org/trunk/openlayers@9706 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Format/SLD/v1.js | 15 +++++++++++++++ tests/Format/SLD/v1_0_0.html | 30 ++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/lib/OpenLayers/Format/SLD/v1.js b/lib/OpenLayers/Format/SLD/v1.js index 23c1cb4e55..87a7960e3d 100644 --- a/lib/OpenLayers/Format/SLD/v1.js +++ b/lib/OpenLayers/Format/SLD/v1.js @@ -649,6 +649,21 @@ OpenLayers.Format.SLD.v1 = OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0, { node ); } + if(symbolizer.strokeDashstyle != undefined && symbolizer.strokeDashstyle !== "solid") { + // assumes valid stroke-dasharray value + this.writeNode( + "CssParameter", + {symbolizer: symbolizer, key: "strokeDashstyle"}, + node + ); + } + if(symbolizer.strokeLinecap != undefined) { + this.writeNode( + "CssParameter", + {symbolizer: symbolizer, key: "strokeLinecap"}, + node + ); + } return node; }, "CssParameter": function(obj) { diff --git a/tests/Format/SLD/v1_0_0.html b/tests/Format/SLD/v1_0_0.html index 4bd22773d9..562fc07176 100644 --- a/tests/Format/SLD/v1_0_0.html +++ b/tests/Format/SLD/v1_0_0.html @@ -295,6 +295,36 @@ t.xml_eq(node, exp, "graphicName only written"); + } + + + function test_writeLineSymbolizer(t) { + + t.plan(1); + + var parser = new OpenLayers.Format.SLD.v1_0_0(); + var symbolizer, node, exp; + + // test symbolizer with fill color only + symbolizer = { + strokeDashstyle: "4 4", + strokeLinecap: "round", + strokeColor: "#0000ff", + strokeWidth: 2 + }; + node = parser.writeNode("sld:LineSymbolizer", symbolizer); + exp = + '' + + '' + + '#0000ff' + + '2' + + '4 4' + + 'round' + + '' + + ''; + t.xml_eq(node, exp, "line symbolizer correctly written"); + + } function test_writeTextSymbolizer(t) {