addad namedLayersAsArray option to Format.SLD.v1. Patch by tschaub and

me, r=tschaub,me (closes #2005)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9140 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
ahocevar
2009-03-27 08:39:15 +00:00
parent a9e087b5b9
commit 44ab482e89
3 changed files with 59 additions and 13 deletions

View File

@@ -125,18 +125,32 @@
'</StyledLayerDescriptor>';
function test_read(t) {
t.plan(18);
t.plan(21);
var parser = new OpenLayers.Format.SLD.v1_0_0();
var xml = new OpenLayers.Format.XML();
var obj = parser.read(xml.read(sld));
var sldxml = xml.read(sld);
// test that format options are considered in read
var parser = new OpenLayers.Format.SLD({
version: "1.0.0",
namedLayersAsArray: true
});
var obj = parser.read(sldxml);
t.ok(obj.namedLayers instanceof Array, "namedLayersAsArray option for read works");
parser = new OpenLayers.Format.SLD.v1_0_0();
var obj = parser.read(sldxml, {namedLayersAsArray: true});
t.ok(obj.namedLayers instanceof Array, "namedLayersAsArray option for read works");
var arrayLen = obj.namedLayers.length;
var obj = parser.read(sldxml);
t.eq(typeof obj.namedLayers, "object", "read returns a namedLayers object by default");
// test the named layer count
var count = 0;
for(var key in obj.namedLayers) {
++count;
}
t.eq(count, 2, "correct number of named layers");
t.eq(count, arrayLen, "number of named layers in array equals number of named layers in object");
var layer, style, rule;
@@ -189,16 +203,21 @@
}
function test_write(t) {
t.plan(2);
t.plan(3);
// read first - testing that write produces the SLD aboce
var parser = new OpenLayers.Format.SLD.v1_0_0();
var xml = new OpenLayers.Format.XML();
var obj = parser.read(xml.read(sld));
var sldxml = xml.read(sld);
var obj = parser.read(sldxml);
var node = parser.write(obj);
t.xml_eq(node, sld, "SLD correctly written");
obj = parser.read(sldxml, {namedLayersAsArray: true});
node = parser.write(obj);
t.xml_eq(node, sld, "SLD from namedLayers array correctly written");
// test that 0 fill opacity gets written
var symbolizer = {
fillColor: "red",