Added versioned GML Parser, on behalf of mr. tschaub. review=ahocevar. (Pullup #1639)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8007 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
222
tests/Format/GML/cases.js
Normal file
222
tests/Format/GML/cases.js
Normal file
@@ -0,0 +1,222 @@
|
||||
var xml = new OpenLayers.Format.XML();
|
||||
function readXML(file) {
|
||||
return xml.read(document.getElementById(file).firstChild.nodeValue);
|
||||
}
|
||||
|
||||
var cases = {
|
||||
|
||||
"v2/point-coord.xml": new OpenLayers.Geometry.Point(1, 2),
|
||||
|
||||
"v2/point-coordinates.xml": new OpenLayers.Geometry.Point(1, 2),
|
||||
|
||||
"v2/linestring-coord.xml": new OpenLayers.Geometry.LineString([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4)
|
||||
]),
|
||||
|
||||
"v2/linestring-coordinates.xml": new OpenLayers.Geometry.LineString([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4)
|
||||
]),
|
||||
|
||||
"v2/linearring-coord.xml": new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(1, 2)
|
||||
]),
|
||||
|
||||
"v2/linearring-coordinates.xml": new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(1, 2)
|
||||
]),
|
||||
|
||||
"v2/polygon-coord.xml": new OpenLayers.Geometry.Polygon([
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(1, 2)
|
||||
]),
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(2, 3),
|
||||
new OpenLayers.Geometry.Point(4, 5),
|
||||
new OpenLayers.Geometry.Point(6, 7),
|
||||
new OpenLayers.Geometry.Point(2, 3)
|
||||
]),
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(7, 8),
|
||||
new OpenLayers.Geometry.Point(3, 4)
|
||||
])
|
||||
]),
|
||||
|
||||
"v2/polygon-coordinates.xml": new OpenLayers.Geometry.Polygon([
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(1, 2)
|
||||
]),
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(2, 3),
|
||||
new OpenLayers.Geometry.Point(4, 5),
|
||||
new OpenLayers.Geometry.Point(6, 7),
|
||||
new OpenLayers.Geometry.Point(2, 3)
|
||||
]),
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(7, 8),
|
||||
new OpenLayers.Geometry.Point(3, 4)
|
||||
])
|
||||
]),
|
||||
|
||||
"v2/multipoint-coord.xml": new OpenLayers.Geometry.MultiPoint([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(2, 3),
|
||||
new OpenLayers.Geometry.Point(3, 4)
|
||||
]),
|
||||
|
||||
"v2/multipoint-coordinates.xml": new OpenLayers.Geometry.MultiPoint([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(2, 3),
|
||||
new OpenLayers.Geometry.Point(3, 4)
|
||||
]),
|
||||
|
||||
"v2/multilinestring-coord.xml": new OpenLayers.Geometry.MultiLineString([
|
||||
new OpenLayers.Geometry.LineString([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(2, 3)
|
||||
]),
|
||||
new OpenLayers.Geometry.LineString([
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(4, 5)
|
||||
])
|
||||
]),
|
||||
|
||||
"v2/multilinestring-coordinates.xml": new OpenLayers.Geometry.MultiLineString([
|
||||
new OpenLayers.Geometry.LineString([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(2, 3)
|
||||
]),
|
||||
new OpenLayers.Geometry.LineString([
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(4, 5)
|
||||
])
|
||||
]),
|
||||
|
||||
"v2/multipolygon-coord.xml": new OpenLayers.Geometry.MultiPolygon([
|
||||
new OpenLayers.Geometry.Polygon([
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(1, 2)
|
||||
]),
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(2, 3),
|
||||
new OpenLayers.Geometry.Point(4, 5),
|
||||
new OpenLayers.Geometry.Point(6, 7),
|
||||
new OpenLayers.Geometry.Point(2, 3)
|
||||
]),
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(7, 8),
|
||||
new OpenLayers.Geometry.Point(3, 4)
|
||||
])
|
||||
]),
|
||||
new OpenLayers.Geometry.Polygon([
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(1, 2)
|
||||
])
|
||||
])
|
||||
]),
|
||||
|
||||
"v2/multipolygon-coordinates.xml": new OpenLayers.Geometry.MultiPolygon([
|
||||
new OpenLayers.Geometry.Polygon([
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(1, 2)
|
||||
]),
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(2, 3),
|
||||
new OpenLayers.Geometry.Point(4, 5),
|
||||
new OpenLayers.Geometry.Point(6, 7),
|
||||
new OpenLayers.Geometry.Point(2, 3)
|
||||
]),
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(7, 8),
|
||||
new OpenLayers.Geometry.Point(3, 4)
|
||||
])
|
||||
]),
|
||||
new OpenLayers.Geometry.Polygon([
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(1, 2)
|
||||
])
|
||||
])
|
||||
]),
|
||||
|
||||
"v2/geometrycollection-coordinates.xml": new OpenLayers.Geometry.Collection([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.LineString([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4)
|
||||
]),
|
||||
new OpenLayers.Geometry.Polygon([
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(1, 2),
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(1, 2)
|
||||
]),
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(2, 3),
|
||||
new OpenLayers.Geometry.Point(4, 5),
|
||||
new OpenLayers.Geometry.Point(6, 7),
|
||||
new OpenLayers.Geometry.Point(2, 3)
|
||||
]),
|
||||
new OpenLayers.Geometry.LinearRing([
|
||||
new OpenLayers.Geometry.Point(3, 4),
|
||||
new OpenLayers.Geometry.Point(5, 6),
|
||||
new OpenLayers.Geometry.Point(7, 8),
|
||||
new OpenLayers.Geometry.Point(3, 4)
|
||||
])
|
||||
])
|
||||
]),
|
||||
|
||||
"v2/box-coord.xml": new OpenLayers.Bounds(1, 2, 3, 4),
|
||||
|
||||
"v2/box-coordinates.xml": new OpenLayers.Bounds(1, 2, 3, 4)
|
||||
|
||||
};
|
||||
|
||||
// cases for v3 use the same geometries
|
||||
OpenLayers.Util.extend(cases, {
|
||||
"v3/point.xml": cases["v2/point-coordinates.xml"],
|
||||
"v3/linestring.xml": cases["v2/linestring-coordinates.xml"],
|
||||
"v3/polygon.xml": cases["v2/polygon-coordinates.xml"],
|
||||
"v3/multipoint-singular.xml": cases["v2/multipoint-coordinates.xml"],
|
||||
"v3/multipoint-plural.xml": cases["v2/multipoint-coordinates.xml"],
|
||||
"v3/multilinestring-singular.xml": cases["v2/multilinestring-coordinates.xml"],
|
||||
"v3/multilinestring-plural.xml": cases["v2/multilinestring-coordinates.xml"],
|
||||
"v3/multipolygon-singular.xml": cases["v2/multipolygon-coordinates.xml"],
|
||||
"v3/multipolygon-plural.xml": cases["v2/multipolygon-coordinates.xml"],
|
||||
"v3/multisurface-singular.xml": cases["v2/multipolygon-coordinates.xml"],
|
||||
"v3/multisurface-plural.xml": cases["v2/multipolygon-coordinates.xml"],
|
||||
"v3/envelope.xml": cases["v2/box-coordinates.xml"]
|
||||
});
|
||||
605
tests/Format/GML/v2.html
Normal file
605
tests/Format/GML/v2.html
Normal file
File diff suppressed because one or more lines are too long
551
tests/Format/GML/v3.html
Normal file
551
tests/Format/GML/v3.html
Normal file
File diff suppressed because one or more lines are too long
@@ -291,35 +291,39 @@
|
||||
t.ok(found === false, "returns false for bad attribute");
|
||||
}
|
||||
|
||||
function test_getNamespacePrefix(t) {
|
||||
t.plan(6);
|
||||
function test_namespaces(t) {
|
||||
t.plan(2);
|
||||
|
||||
// test that getNamespacePrefix returns null with no ns defined
|
||||
var format = new OpenLayers.Format.XML();
|
||||
var got = format.getNamespacePrefix("http://example.com/foo");
|
||||
t.eq(got, null, "returns null when no namespaces are defined");
|
||||
var format = new OpenLayers.Format.XML({
|
||||
namespaces: {
|
||||
"def": "http://example.com/default",
|
||||
"foo": "http://example.com/foo",
|
||||
"bar": "http://example.com/bar"
|
||||
},
|
||||
defaultPrefix: "def"
|
||||
});
|
||||
|
||||
format.defaultPrefix = "def";
|
||||
format.namespaces = {
|
||||
"def": "http://example.com/default",
|
||||
"foo": "http://example.com/foo",
|
||||
"bar": "http://example.com/bar"
|
||||
};
|
||||
// test that prototype has not been altered
|
||||
t.eq(OpenLayers.Format.XML.prototype.namespaces, null,
|
||||
"setting namespaces at construction does not modify prototype");
|
||||
|
||||
var cases = [
|
||||
{uri: null, expect: "def"},
|
||||
{uri: "http://example.com/default", expect: "def"},
|
||||
{uri: "http://example.com/foo", expect: "foo"},
|
||||
{uri: "http://example.com/bar", expect: "bar"},
|
||||
{uri: "http://example.com/nothing", expect: null}
|
||||
];
|
||||
// test that namespaceAlias has been set
|
||||
t.eq(format.namespaceAlias["http://example.com/foo"], "foo",
|
||||
"namespaceAlias mapping has been set");
|
||||
|
||||
var test;
|
||||
for(var i=0; i<cases.length; ++i) {
|
||||
test = cases[i];
|
||||
t.eq(format.getNamespacePrefix(test.uri), test.expect,
|
||||
"uri: " + test.uri + " works");
|
||||
}
|
||||
}
|
||||
|
||||
function test_setNamespace(t) {
|
||||
t.plan(3);
|
||||
|
||||
var format = new OpenLayers.Format.XML();
|
||||
|
||||
// test that namespaces is an object
|
||||
t.ok(format.namespaces instanceof Object, "empty namespace object set");
|
||||
|
||||
format.setNamespace("foo", "http://example.com/foo");
|
||||
t.eq(format.namespaces["foo"], "http://example.com/foo", "alias -> uri mapping set");
|
||||
t.eq(format.namespaceAlias["http://example.com/foo"], "foo", "uri -> alias mapping set");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -43,6 +43,8 @@
|
||||
<li>Format/GeoJSON.html</li>
|
||||
<li>Format/GeoRSS.html</li>
|
||||
<li>Format/GML.html</li>
|
||||
<li>Format/GML/v2.html</li>
|
||||
<li>Format/GML/v3.html</li>
|
||||
<li>Format/GPX.html</li>
|
||||
<li>Format/JSON.html</li>
|
||||
<li>Format/KML.html</li>
|
||||
|
||||
Reference in New Issue
Block a user