move srsName and axisOrientation from the instance to the read and write functions as discussed with @ahocevar

This commit is contained in:
Bart van den Eijnden
2013-07-30 14:44:50 +02:00
committed by ahocevar
parent 6f3fa14c53
commit 2f4f508d1a
28 changed files with 122 additions and 98 deletions

View File

@@ -2,8 +2,7 @@ goog.provide('ol.test.parser.gml_v3');
describe('ol.parser.gml_v3', function() {
var parser = new ol.parser.ogc.GML_v3(
{srsName: 'foo', axisOrientation: 'enu'});
var parser = new ol.parser.ogc.GML_v3();
describe('Test GML v3 parser', function() {
it('Envelope read correctly', function(done) {
@@ -19,8 +18,10 @@ describe('ol.parser.gml_v3', function() {
afterLoadXml(url, function(xml) {
var obj = parser.read(xml);
var geom = parser.createGeometry_({geometry: obj.geometry});
parser.srsName = 'EPSG:4326';
var node = parser.featureNSWiters_['_geometry'].apply(parser,
[geom]).firstChild;
delete parser.srsName;
expect(goog.dom.xml.loadXml(parser.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('linearring');
expect(obj.geometry.coordinates).to.eql([[1, 2], [3, 4], [5, 6],
@@ -33,8 +34,10 @@ describe('ol.parser.gml_v3', function() {
afterLoadXml(url, function(xml) {
var obj = parser.read(xml);
var geom = parser.createGeometry_({geometry: obj.geometry});
parser.srsName = 'EPSG:4326';
var node = parser.featureNSWiters_['_geometry'].apply(parser,
[geom]).firstChild;
delete parser.srsName;
expect(goog.dom.xml.loadXml(parser.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('linestring');
expect(obj.geometry.coordinates).to.eql([[1, 2], [3, 4]]);
@@ -54,11 +57,13 @@ describe('ol.parser.gml_v3', function() {
it('Curve read / written correctly', function(done) {
var url = 'spec/ol/parser/ogc/xml/gml_v3/curve.xml';
afterLoadXml(url, function(xml) {
var p = new ol.parser.ogc.GML_v3({curve: true, srsName: 'foo'});
var p = new ol.parser.ogc.GML_v3({curve: true});
var obj = p.read(xml);
var geom = p.createGeometry_({geometry: obj.geometry});
p.srsName = 'EPSG:4326';
var node = p.featureNSWiters_['_geometry'].apply(p,
[geom]).firstChild;
delete p.srsName;
expect(goog.dom.xml.loadXml(p.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('linestring');
expect(obj.geometry.coordinates).to.eql([[1, 2], [3, 4]]);
@@ -79,11 +84,13 @@ describe('ol.parser.gml_v3', function() {
it('MultiLineString singular read / written correctly', function(done) {
var url = 'spec/ol/parser/ogc/xml/gml_v3/multilinestring-singular.xml';
afterLoadXml(url, function(xml) {
var p = new ol.parser.ogc.GML_v3({multiCurve: false, srsName: 'foo'});
var p = new ol.parser.ogc.GML_v3({multiCurve: false});
var obj = p.read(xml);
var geom = p.createGeometry_({geometry: obj.geometry});
p.srsName = 'EPSG:4326';
var node = p.featureNSWiters_['_geometry'].apply(p,
[geom]).firstChild;
delete p.srsName;
expect(goog.dom.xml.loadXml(p.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('multilinestring');
expect(obj.geometry.parts.length).to.eql(2);
@@ -96,8 +103,10 @@ describe('ol.parser.gml_v3', function() {
afterLoadXml(url, function(xml) {
var obj = parser.read(xml);
var geom = parser.createGeometry_({geometry: obj.geometry});
parser.srsName = 'EPSG:4326';
var node = parser.featureNSWiters_['_geometry'].apply(parser,
[geom]).firstChild;
delete parser.srsName;
expect(goog.dom.xml.loadXml(parser.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('multilinestring');
expect(obj.geometry.parts.length).to.eql(2);
@@ -109,11 +118,13 @@ describe('ol.parser.gml_v3', function() {
it('MultiCurve curve read / written correctly', function(done) {
var url = 'spec/ol/parser/ogc/xml/gml_v3/multicurve-curve.xml';
afterLoadXml(url, function(xml) {
var p = new ol.parser.ogc.GML_v3({curve: true, srsName: 'foo'});
var p = new ol.parser.ogc.GML_v3({curve: true});
var obj = p.read(xml);
var geom = p.createGeometry_({geometry: obj.geometry});
p.srsName = 'EPSG:4326';
var node = p.featureNSWiters_['_geometry'].apply(p,
[geom]).firstChild;
delete p.srsName;
expect(goog.dom.xml.loadXml(p.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('multilinestring');
expect(obj.geometry.parts.length).to.eql(2);
@@ -138,8 +149,10 @@ describe('ol.parser.gml_v3', function() {
afterLoadXml(url, function(xml) {
var obj = parser.read(xml);
var geom = parser.createGeometry_({geometry: obj.geometry});
parser.srsName = 'EPSG:4326';
var node = parser.featureNSWiters_['_geometry'].apply(parser,
[geom]).firstChild;
delete parser.srsName;
expect(goog.dom.xml.loadXml(parser.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('multipoint');
expect(obj.geometry.parts.length).to.eql(3);
@@ -161,11 +174,13 @@ describe('ol.parser.gml_v3', function() {
it('MultiPolygon singular read / written correctly', function(done) {
var url = 'spec/ol/parser/ogc/xml/gml_v3/multipolygon-singular.xml';
afterLoadXml(url, function(xml) {
var p = new ol.parser.ogc.GML_v3({multiSurface: false, srsName: 'foo'});
var p = new ol.parser.ogc.GML_v3({multiSurface: false});
var obj = p.read(xml);
var geom = p.createGeometry_({geometry: obj.geometry});
p.srsName = 'EPSG:4326';
var node = p.featureNSWiters_['_geometry'].apply(p,
[geom]).firstChild;
delete p.srsName;
expect(goog.dom.xml.loadXml(p.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('multipolygon');
expect(obj.geometry.parts.length).to.eql(2);
@@ -188,8 +203,10 @@ describe('ol.parser.gml_v3', function() {
afterLoadXml(url, function(xml) {
var obj = parser.read(xml);
var geom = parser.createGeometry_({geometry: obj.geometry});
parser.srsName = 'EPSG:4326';
var node = parser.featureNSWiters_['_geometry'].apply(parser,
[geom]).firstChild;
delete parser.srsName;
expect(goog.dom.xml.loadXml(parser.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('multipolygon');
expect(obj.geometry.parts.length).to.eql(2);
@@ -200,11 +217,13 @@ describe('ol.parser.gml_v3', function() {
it('MultiSurface surface read / written correctly', function(done) {
var url = 'spec/ol/parser/ogc/xml/gml_v3/multisurface-surface.xml';
afterLoadXml(url, function(xml) {
var p = new ol.parser.ogc.GML_v3({surface: true, srsName: 'foo'});
var p = new ol.parser.ogc.GML_v3({surface: true});
var obj = p.read(xml);
var geom = p.createGeometry_({geometry: obj.geometry});
p.srsName = 'EPSG:4326';
var node = p.featureNSWiters_['_geometry'].apply(p,
[geom]).firstChild;
delete p.srsName;
expect(goog.dom.xml.loadXml(p.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('multipolygon');
expect(obj.geometry.parts.length).to.eql(2);
@@ -217,8 +236,10 @@ describe('ol.parser.gml_v3', function() {
afterLoadXml(url, function(xml) {
var obj = parser.read(xml);
var geom = parser.createGeometry_({geometry: obj.geometry});
parser.srsName = 'EPSG:4326';
var node = parser.featureNSWiters_['_geometry'].apply(parser,
[geom]).firstChild;
delete parser.srsName;
expect(goog.dom.xml.loadXml(parser.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('point');
expect(obj.geometry.coordinates).to.eql([1, 2]);
@@ -230,8 +251,10 @@ describe('ol.parser.gml_v3', function() {
afterLoadXml(url, function(xml) {
var obj = parser.read(xml);
var geom = parser.createGeometry_({geometry: obj.geometry});
parser.srsName = 'EPSG:4326';
var node = parser.featureNSWiters_['_geometry'].apply(parser,
[geom]).firstChild;
delete parser.srsName;
expect(goog.dom.xml.loadXml(parser.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('polygon');
done();
@@ -240,11 +263,13 @@ describe('ol.parser.gml_v3', function() {
it('Surface read / written correctly', function(done) {
var url = 'spec/ol/parser/ogc/xml/gml_v3/surface.xml';
afterLoadXml(url, function(xml) {
var p = new ol.parser.ogc.GML_v3({surface: true, srsName: 'foo'});
var p = new ol.parser.ogc.GML_v3({surface: true});
var obj = p.read(xml);
var geom = p.createGeometry_({geometry: obj.geometry});
p.srsName = 'EPSG:4326';
var node = p.featureNSWiters_['_geometry'].apply(p,
[geom]).firstChild;
delete p.srsName;
expect(goog.dom.xml.loadXml(p.serialize(node))).to.xmleql(xml);
expect(obj.geometry.type).to.eql('polygon');
done();
@@ -259,7 +284,6 @@ describe('ol.parser.gml_v3', function() {
'http://www.opengis.net/gml ' +
'http://schemas.opengis.net/gml/3.2.1/gml.xsd';
var p = new ol.parser.ogc.GML_v3({schemaLocation: schemaLoc});
debugger
var obj = p.read(xml);
var output = p.write(obj);
expect(goog.dom.xml.loadXml(output)).to.xmleql(xml);
@@ -283,7 +307,6 @@ describe('ol.parser.gml_v3', function() {
it('FeatureCollection from WFS read correctly', function(done) {
var url = 'spec/ol/parser/ogc/xml/gml_v3/topp-states-wfs.xml';
afterLoadXml(url, function(xml) {
parser.srsName = null;
var obj = parser.read(xml);
expect(obj.features.length).to.eql(3);
var feature = obj.features[0];
@@ -298,7 +321,6 @@ describe('ol.parser.gml_v3', function() {
expect(attributes['LAND_KM']).to.eql('143986.61');
expect(ol.proj.get(obj.metadata.projection) instanceof ol.proj.EPSG4326)
.to.be.ok();
parser.srsName = "foo";
done();
});
});
@@ -344,3 +366,5 @@ describe('ol.parser.gml_v3', function() {
goog.require('goog.dom.xml');
goog.require('ol.geom.MultiPolygon');
goog.require('ol.parser.ogc.GML_v3');
goog.require('ol.proj');
goog.require('ol.proj.EPSG4326');