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");
|
var node = this.createElementNSPlus("Graphic");
|
||||||
if(symbolizer.externalGraphic != undefined) {
|
if(symbolizer.externalGraphic != undefined) {
|
||||||
this.writeNode("ExternalGraphic", symbolizer, node);
|
this.writeNode("ExternalGraphic", symbolizer, node);
|
||||||
} else if(symbolizer.graphicName) {
|
} else {
|
||||||
this.writeNode("Mark", symbolizer, node);
|
this.writeNode("Mark", symbolizer, node);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -813,7 +813,9 @@ OpenLayers.Format.SLD.v1 = OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0, {
|
|||||||
},
|
},
|
||||||
"Mark": function(symbolizer) {
|
"Mark": function(symbolizer) {
|
||||||
var node = this.createElementNSPlus("Mark");
|
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("Fill", symbolizer, node);
|
||||||
this.writeNode("Stroke", symbolizer, node);
|
this.writeNode("Stroke", symbolizer, node);
|
||||||
return node;
|
return node;
|
||||||
|
|||||||
@@ -214,6 +214,69 @@
|
|||||||
t.xml_eq(got, expect, "zero fill opacity written");
|
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) {
|
function test_writeTextSymbolizer(t) {
|
||||||
t.plan(1);
|
t.plan(1);
|
||||||
var parser = new OpenLayers.Format.SLD.v1_0_0();
|
var parser = new OpenLayers.Format.SLD.v1_0_0();
|
||||||
|
|||||||
Reference in New Issue
Block a user