diff --git a/test/spec/ol/format/gml.test.js b/test/spec/ol/format/gml.test.js
index d9225ede22..df7621abcb 100644
--- a/test/spec/ol/format/gml.test.js
+++ b/test/spec/ol/format/gml.test.js
@@ -1470,29 +1470,69 @@ describe('ol.format.GML3', function() {
var features, feature;
before(function(done) {
- afterLoadText('spec/ol/format/gml/geoserverFeatures.xml', function(xml) {
- try {
- var config = {
- 'featureNS': 'http://www.openplans.org/topp',
- 'featureType': 'states'
- };
- features = new ol.format.GML(config).readFeatures(xml);
- } catch (e) {
- done(e);
- }
- done();
- });
+ afterLoadText('spec/ol/format/gml/geoserver3DFeatures.xml',
+ function(xml) {
+ try {
+ var config = {
+ 'featureNS': 'http://www.opengeospatial.net/cite',
+ 'featureType': 'geoserver_layer'
+ };
+ features = new ol.format.GML(config).readFeatures(xml);
+ } catch (e) {
+ done(e);
+ }
+ done();
+ });
});
it('creates 3 features', function() {
expect(features).to.have.length(3);
});
- it('creates a polygon for Illinois', function() {
+ it('creates a LineString', function() {
feature = features[0];
- expect(feature.getId()).to.equal('states.1');
- expect(feature.get('STATE_NAME')).to.equal('Illinois');
- expect(feature.getGeometry()).to.be.an(ol.geom.MultiPolygon);
+ expect(feature.getId()).to.equal('geoserver_layer.1');
+ expect(feature.getGeometry()).to.be.an(ol.geom.LineString);
+ });
+
+ it('creates a Polygon', function() {
+ feature = features[1];
+ expect(feature.getId()).to.equal('geoserver_layer.2');
+ expect(feature.getGeometry()).to.be.an(ol.geom.Polygon);
+ });
+
+ it('creates a Point', function() {
+ feature = features[2];
+ expect(feature.getId()).to.equal('geoserver_layer.3');
+ expect(feature.getGeometry()).to.be.an(ol.geom.Point);
+ });
+
+
+ it('creates 3D Features with the expected geometries', function() {
+ var expectedGeometry1 = [
+ 4.46386854, 51.91122415, 46.04679351,
+ 4.46382399, 51.91120839, 46.04679382
+ ];
+ var expectedGeometry2 = [
+ 4.46385491, 51.91119276, 46.06074531,
+ 4.4638264, 51.91118582, 46.06074609,
+ 4.46380612, 51.91121772, 46.06074168,
+ 4.46383463, 51.91122465, 46.06074089,
+ 4.46385491, 51.91119276, 46.06074531
+ ];
+ var expectedGeometry3 = [
+ 4.46383715, 51.91125849, 46.04679348
+ ];
+
+ feature = features[0];
+ expect(feature.getGeometry().getFlatCoordinates())
+ .to.eql(expectedGeometry1);
+ feature = features[1];
+ expect(feature.getGeometry().getFlatCoordinates())
+ .to.eql(expectedGeometry2);
+ feature = features[2];
+ expect(feature.getGeometry().getFlatCoordinates())
+ .to.eql(expectedGeometry3);
});
});
diff --git a/test/spec/ol/format/gml/geoserver3DFeatures.xml b/test/spec/ol/format/gml/geoserver3DFeatures.xml
new file mode 100644
index 0000000000..0848e5c27d
--- /dev/null
+++ b/test/spec/ol/format/gml/geoserver3DFeatures.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+ 51.91122415 4.46386854 46.04679351 51.91120839 4.46382399 46.04679382
+
+
+
+
+
+
+
+
+
+
+ 51.91119276 4.46385491 46.06074531 51.91118582 4.4638264 46.06074609 51.91121772 4.46380612 46.06074168 51.91122465 4.46383463 46.06074089 51.91119276 4.46385491 46.06074531
+
+
+
+
+
+
+
+
+
+ 51.91125849 4.46383715 46.04679348
+
+
+
+
+
diff --git a/test/spec/ol/format/gml/geoserverFeatures.xml b/test/spec/ol/format/gml/geoserverFeatures.xml
deleted file mode 100644
index c390eb8e49..0000000000
--- a/test/spec/ol/format/gml/geoserverFeatures.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
- 51.91122415 4.46386854 46.04679351 51.91120839 4.46382399 46.04679382 51.91122877 4.46383897 46.04679306 51.91123013 4.46385411 46.04679315 51.91123016 4.46386244 46.04679328
-
-
-
-
-
-
-
-
- 51.91119276 4.46385491 46.06074531 51.91118582 4.4638264 46.06074609 51.91121772 4.46380612 46.06074168 51.91122465 4.46383463 46.06074089 51.91119276 4.46385491 46.06074531
-
-
-
-
-
-
-
-
-
-
- 51.91123321 4.46384921 46.04679306 51.91123242 4.46381475 46.0467932 51.91122926 4.46381494 46.04679323 51.91123004 4.4638494 46.04679309 51.91123321 4.46384921 46.04679306
-
-
-
-
-
-
-
-
-
-
- 51.91123372 4.46388232 46.04679377 51.91122788 4.46388684 46.04679399 51.91123214 4.46390122 46.04679455 51.91123798 4.4638967 46.04679433 51.91123372 4.46388232 46.04679377
-
-
-
-
-
-
-
-
- 51.91117684 4.46386436 46.06565659 51.91115683 4.46386502 46.0656567
-
-
-
-
-
-
- 51.91117878 4.46385015 46.06636351 51.91115877 4.46385081 46.06636361
-
-
-
-
-
-
- 51.91121687 4.46390244 46.08019498 51.91119686 4.4639031 46.08019509
-
-
-
-
-
-
- 51.91125849 4.46383715 46.04679348
-
-
-
-
-