diff options
Diffstat (limited to 'misc/openlayers/tests/Format/WFST/v1_0_0.html')
-rw-r--r-- | misc/openlayers/tests/Format/WFST/v1_0_0.html | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/misc/openlayers/tests/Format/WFST/v1_0_0.html b/misc/openlayers/tests/Format/WFST/v1_0_0.html new file mode 100644 index 0000000..a8fce79 --- /dev/null +++ b/misc/openlayers/tests/Format/WFST/v1_0_0.html @@ -0,0 +1,135 @@ +<html> +<head> + <script src="../../OLLoader.js"></script> + <script type="text/javascript"> + + function test_initialize(t) { + t.plan(1); + + var format = new OpenLayers.Format.WFST.v1_0_0({}); + t.ok(format instanceof OpenLayers.Format.WFST.v1_0_0, "constructor returns instance"); + } + + function test_read(t) { + t.plan(3); + + var data = readXML("Transaction_Response"); + var format = new OpenLayers.Format.WFST.v1_0_0({ + featureNS: "http://www.openplans.org/topp", + featureType: "states" + }); + var result = format.read(data); + t.eq(result.insertIds[0], "parcelle.40", "First InsertId read correctly"); + t.eq(result.insertIds[1], "parcelle.41", "Second InsertId read correctly"); + t.eq(result.success, true, "Success read correctly"); + } + + function test_write(t) { + + var format = new OpenLayers.Format.WFST.v1_0_0({ + featureNS: "http://www.openplans.org/topp", + featureType: "states", + featurePrefix: "topp", + geometryName: "the_geom" + }); + + var cases = [{ + id: "query0", + writer: "wfs:Query", + arg: { + filter: new OpenLayers.Filter.Spatial({ + type: OpenLayers.Filter.Spatial.BBOX, + value: new OpenLayers.Bounds (1,2,3,4) + }) + } + }, { + id: "query1", + writer: "wfs:Query", + arg: { + srsNameInQuery: true, + srsName: "EPSG:900913" + } + }, { + id: "getfeature0", + writer: "wfs:GetFeature", + arg: { + propertyNames: ["STATE_NAME", "STATE_FIPS", "STATE_ABBR"] + } + }]; + + t.plan(cases.length); + + var test, got, exp; + for(var i=0; i<cases.length; ++i) { + test = cases[i]; + exp = readXML(test.id); + got = format.writeNode(test.writer, test.arg); + t.xml_eq(got, exp, test.id + ": correct request"); + } + + } + + function test_write_poorconfig(t) { + t.plan(1); + var format = new OpenLayers.Format.WFST.v1_0_0({ + featureType: "states", + featurePrefix: "topp" + }); + var exp = "topp:states"; + var got = format.writeNode("wfs:Query").getAttribute("typeName"); + t.eq(got, exp, "Query without featureNS but with featurePrefix queries for the correct featureType"); + } + + var xmlFormat = new OpenLayers.Format.XML(); + function readXML(id) { + var xml = document.getElementById(id).firstChild.nodeValue; + return xmlFormat.read(xml).documentElement; + } + + </script> +</head> +<body> +<div id="Transaction_Response"><!-- +<wfs:WFS_TransactionResponse version="1.0.0" xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc"> + <wfs:InsertResult> + <ogc:FeatureId fid="parcelle.40"/> + <ogc:FeatureId fid="parcelle.41"/> + </wfs:InsertResult> + <wfs:TransactionResult> + <wfs:Status> + <wfs:SUCCESS/> + </wfs:Status> + </wfs:TransactionResult> +</wfs:WFS_TransactionResponse> +--></div> +<div id="query0"><!-- +<wfs:Query xmlns:wfs="http://www.opengis.net/wfs" typeName="topp:states" xmlns:topp="http://www.openplans.org/topp"> + <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"> + <ogc:BBOX> + <ogc:PropertyName>the_geom</ogc:PropertyName> + <gml:Box xmlns:gml="http://www.opengis.net/gml"> + <gml:coordinates decimal="." cs="," ts=" ">1,2 3,4</gml:coordinates> + </gml:Box> + </ogc:BBOX> + </ogc:Filter> +</wfs:Query> +--></div> +<div id="query1"><!-- +<wfs:Query xmlns:wfs="http://www.opengis.net/wfs" typeName="topp:states" srsName="EPSG:900913" xmlns:topp="http://www.openplans.org/topp"> +</wfs:Query> +--></div> +<div id="getfeature0"><!-- +<wfs:GetFeature service="WFS" version="1.0.0" xmlns:topp="http://www.openplans.org/topp" + xmlns:wfs="http://www.opengis.net/wfs" + xmlns:ogc="http://www.opengis.net/ogc" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"> + <wfs:Query xmlns:wfs="http://www.opengis.net/wfs" typeName="topp:states" xmlns:topp="http://www.openplans.org/topp"> + <ogc:PropertyName>STATE_NAME</ogc:PropertyName> + <ogc:PropertyName>STATE_FIPS</ogc:PropertyName> + <ogc:PropertyName>STATE_ABBR</ogc:PropertyName> + </wfs:Query> +</wfs:GetFeature> +--></div> +</body> +</html> |