Port over more test cases
This commit is contained in:
47
test/spec/ol/format/gml/more-geoms.xml
Normal file
47
test/spec/ol/format/gml/more-geoms.xml
Normal file
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wfs:FeatureCollection numberOfFeatures="1" timeStamp="2010-01-29T15:10:38.921-07:00"
|
||||
xsi:schemaLocation="http://medford.opengeo.org http://localhost:8080/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=medford%3Azoning http://www.opengis.net/wfs http://localhost:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd"
|
||||
xmlns:ogc="http://www.opengis.net/ogc"
|
||||
xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:medford="http://opengeo.org/#medford"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ows="http://www.opengis.net/ows"
|
||||
xmlns:gml="http://www.opengis.net/gml"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<gml:featureMembers>
|
||||
<medford:zoning gml:id="zoning.1">
|
||||
<medford:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>42.397027571297585 -122.88465674265922 42.39702893980587 -122.88509730796012 42.397029086785146 -122.88511582432085 42.39702379767053 -122.88528111596624 42.39748517484964 -122.88529300380065 42.39748473847452 -122.88509914138723 42.39748482219041 -122.8849959517568 42.397485082635576 -122.8846741899541 42.3974853307826 -122.88436529392652 42.39702663751206 -122.88435664014142 42.397027571297585 -122.88465674265922</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</medford:the_geom>
|
||||
<medford:center>
|
||||
<gml:Point srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:pos>1 2</gml:pos>
|
||||
</gml:Point>
|
||||
</medford:center>
|
||||
<medford:objectid>1</medford:objectid>
|
||||
<medford:cityzone>YES</medford:cityzone>
|
||||
<medford:zoning>I-L</medford:zoning>
|
||||
<medford:revdate>2004-04-12T00:00:00-06:00</medford:revdate>
|
||||
<medford:finord></medford:finord>
|
||||
<medford:filenum></medford:filenum>
|
||||
<medford:acres>0.95741118624</medford:acres>
|
||||
<medford:misc></medford:misc>
|
||||
<medford:shape_leng>835.705330224</medford:shape_leng>
|
||||
<medford:perimeter>835.705330224</medford:perimeter>
|
||||
<medford:area>41704.8312728</medford:area>
|
||||
<medford:shape_le_1>835.705330224</medford:shape_le_1>
|
||||
<medford:shape_area>41704.8312728</medford:shape_area>
|
||||
<medford:hectares>0.38745056079</medford:hectares>
|
||||
</medford:zoning>
|
||||
</gml:featureMembers>
|
||||
</wfs:FeatureCollection>
|
||||
42
test/spec/ol/format/gml/repeated-name.xml
Normal file
42
test/spec/ol/format/gml/repeated-name.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wfs:FeatureCollection numberOfFeatures="1" timeStamp="2010-01-29T15:10:38.921-07:00"
|
||||
xsi:schemaLocation="http://medford.opengeo.org http://localhost:8080/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=medford%3Azoning http://www.opengis.net/wfs http://localhost:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd"
|
||||
xmlns:ogc="http://www.opengis.net/ogc"
|
||||
xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:medford="http://opengeo.org/#medford"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ows="http://www.opengis.net/ows"
|
||||
xmlns:gml="http://www.opengis.net/gml"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<gml:featureMembers>
|
||||
<medford:zoning gml:id="zoning.1">
|
||||
<medford:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>42.397027571297585 -122.88465674265922 42.39702893980587 -122.88509730796012 42.397029086785146 -122.88511582432085 42.39702379767053 -122.88528111596624 42.39748517484964 -122.88529300380065 42.39748473847452 -122.88509914138723 42.39748482219041 -122.8849959517568 42.397485082635576 -122.8846741899541 42.3974853307826 -122.88436529392652 42.39702663751206 -122.88435664014142 42.397027571297585 -122.88465674265922</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</medford:the_geom>
|
||||
<medford:objectid>1</medford:objectid>
|
||||
<medford:cityzone>YES</medford:cityzone>
|
||||
<medford:zoning>I-L</medford:zoning>
|
||||
<medford:revdate>2004-04-12T00:00:00-06:00</medford:revdate>
|
||||
<medford:finord></medford:finord>
|
||||
<medford:filenum></medford:filenum>
|
||||
<medford:acres>0.95741118624</medford:acres>
|
||||
<medford:misc></medford:misc>
|
||||
<medford:shape_leng>835.705330224</medford:shape_leng>
|
||||
<medford:perimeter>835.705330224</medford:perimeter>
|
||||
<medford:area>41704.8312728</medford:area>
|
||||
<medford:shape_le_1>835.705330224</medford:shape_le_1>
|
||||
<medford:shape_area>41704.8312728</medford:shape_area>
|
||||
<medford:hectares>0.38745056079</medford:hectares>
|
||||
</medford:zoning>
|
||||
</gml:featureMembers>
|
||||
</wfs:FeatureCollection>
|
||||
@@ -543,6 +543,35 @@ describe('ol.format.GML', function() {
|
||||
|
||||
});
|
||||
|
||||
describe('when parsing empty attribute', function() {
|
||||
it('generates undefined value', function() {
|
||||
var text =
|
||||
'<gml:featureMembers xmlns:gml="http://www.opengis.net/gml">' +
|
||||
' <topp:gnis_pop gml:id="gnis_pop.148604" xmlns:topp="' +
|
||||
'http://www.openplans.org/topp">' +
|
||||
' <gml:name>Aflu</gml:name>' +
|
||||
' <topp:the_geom>' +
|
||||
' <gml:Point srsName="urn:x-ogc:def:crs:EPSG:4326">' +
|
||||
' <gml:pos>34.12 2.09</gml:pos>' +
|
||||
' </gml:Point>' +
|
||||
' </topp:the_geom>' +
|
||||
' <topp:population>84683</topp:population>' +
|
||||
' <topp:country>Algeria</topp:country>' +
|
||||
' <topp:type>place</topp:type>' +
|
||||
' <topp:name>Aflu</topp:name>' +
|
||||
' <topp:empty></topp:empty>' +
|
||||
' </topp:gnis_pop>' +
|
||||
'</gml:featureMembers>';
|
||||
var config = {
|
||||
'featureNS': 'http://www.openplans.org/topp',
|
||||
'featureType': 'gnis_pop'
|
||||
};
|
||||
var features = new ol.format.GML(config).readFeatures(text);
|
||||
var feature = features[0];
|
||||
expect(feature.get('empty')).to.be(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
describe('when parsing TOPP states GML', function() {
|
||||
|
||||
var features;
|
||||
@@ -597,6 +626,57 @@ describe('ol.format.GML', function() {
|
||||
|
||||
});
|
||||
|
||||
describe('when parsing more than one geometry', function() {
|
||||
|
||||
var features, feature;
|
||||
before(function(done) {
|
||||
afterLoadText('spec/ol/format/gml/more-geoms.xml', function(xml) {
|
||||
try {
|
||||
var config = {
|
||||
'featureNS': 'http://opengeo.org/#medford',
|
||||
'featureType': 'zoning'
|
||||
};
|
||||
features = new ol.format.GML(config).readFeatures(xml);
|
||||
} catch (e) {
|
||||
done(e);
|
||||
}
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('creates 2 geometries', function() {
|
||||
var feature = features[0];
|
||||
expect(feature.get('center')).to.be.a(ol.geom.Point);
|
||||
expect(feature.get('the_geom')).to.be.a(ol.geom.MultiPolygon);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('when parsing an attribute name equal to featureType', function() {
|
||||
|
||||
var features, feature;
|
||||
before(function(done) {
|
||||
afterLoadText('spec/ol/format/gml/repeated-name.xml', function(xml) {
|
||||
try {
|
||||
var config = {
|
||||
'featureNS': 'http://opengeo.org/#medford',
|
||||
'featureType': 'zoning'
|
||||
};
|
||||
features = new ol.format.GML(config).readFeatures(xml);
|
||||
} catch (e) {
|
||||
done(e);
|
||||
}
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('creates the correct attribute value', function() {
|
||||
var feature = features[0];
|
||||
expect(feature.get('zoning')).to.equal('I-L');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user