Writing sld:Mark fill and stroke in cases where graphicName is not provided. r=ahocevar (closes #2008)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9139 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -786,7 +786,7 @@ OpenLayers.Format.SLD.v1 = OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0, {
|
||||
var node = this.createElementNSPlus("Graphic");
|
||||
if(symbolizer.externalGraphic != undefined) {
|
||||
this.writeNode("ExternalGraphic", symbolizer, node);
|
||||
} else if(symbolizer.graphicName) {
|
||||
} else {
|
||||
this.writeNode("Mark", symbolizer, node);
|
||||
}
|
||||
|
||||
@@ -813,7 +813,9 @@ OpenLayers.Format.SLD.v1 = OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0, {
|
||||
},
|
||||
"Mark": function(symbolizer) {
|
||||
var node = this.createElementNSPlus("Mark");
|
||||
this.writeNode("WellKnownName", symbolizer.graphicName, node);
|
||||
if(symbolizer.graphicName) {
|
||||
this.writeNode("WellKnownName", symbolizer.graphicName, node);
|
||||
}
|
||||
this.writeNode("Fill", symbolizer, node);
|
||||
this.writeNode("Stroke", symbolizer, node);
|
||||
return node;
|
||||
|
||||
@@ -214,6 +214,69 @@
|
||||
t.xml_eq(got, expect, "zero fill opacity written");
|
||||
}
|
||||
|
||||
function test_writePointSymbolizer(t) {
|
||||
|
||||
t.plan(3);
|
||||
|
||||
var parser = new OpenLayers.Format.SLD.v1_0_0();
|
||||
var symbolizer, node, exp;
|
||||
|
||||
// test symbolizer with fill color only
|
||||
symbolizer = {
|
||||
"fillColor": "blue"
|
||||
};
|
||||
node = parser.writeNode("sld:PointSymbolizer", symbolizer);
|
||||
exp =
|
||||
'<PointSymbolizer xmlns="http://www.opengis.net/sld">' +
|
||||
'<Graphic>' +
|
||||
'<Mark>' +
|
||||
'<Fill>' +
|
||||
'<CssParameter name="fill">blue</CssParameter>' +
|
||||
'</Fill>' +
|
||||
'<Stroke/>' +
|
||||
'</Mark>' +
|
||||
'</Graphic>' +
|
||||
'</PointSymbolizer>';
|
||||
t.xml_eq(node, exp, "fillColor only written");
|
||||
|
||||
// test symbolizer with stroke color only
|
||||
symbolizer = {
|
||||
"strokeColor": "blue"
|
||||
};
|
||||
node = parser.writeNode("sld:PointSymbolizer", symbolizer);
|
||||
exp =
|
||||
'<PointSymbolizer xmlns="http://www.opengis.net/sld">' +
|
||||
'<Graphic>' +
|
||||
'<Mark>' +
|
||||
'<Fill/>' +
|
||||
'<Stroke>' +
|
||||
'<CssParameter name="stroke">blue</CssParameter>' +
|
||||
'</Stroke>' +
|
||||
'</Mark>' +
|
||||
'</Graphic>' +
|
||||
'</PointSymbolizer>';
|
||||
t.xml_eq(node, exp, "strokeColor only written");
|
||||
|
||||
// test symbolizer with graphic name only
|
||||
symbolizer = {
|
||||
"graphicName": "star"
|
||||
};
|
||||
node = parser.writeNode("sld:PointSymbolizer", symbolizer);
|
||||
exp =
|
||||
'<PointSymbolizer xmlns="http://www.opengis.net/sld">' +
|
||||
'<Graphic>' +
|
||||
'<Mark>' +
|
||||
'<WellKnownName>star</WellKnownName>' +
|
||||
'<Fill/>' +
|
||||
'<Stroke/>' +
|
||||
'</Mark>' +
|
||||
'</Graphic>' +
|
||||
'</PointSymbolizer>';
|
||||
t.xml_eq(node, exp, "graphicName only written");
|
||||
|
||||
|
||||
}
|
||||
|
||||
function test_writeTextSymbolizer(t) {
|
||||
t.plan(1);
|
||||
var parser = new OpenLayers.Format.SLD.v1_0_0();
|
||||
|
||||
Reference in New Issue
Block a user