Add getLayers and setLayers functions to ol.format.WMSGetFeatureInfo

This commit is contained in:
Frederic Junod
2017-11-01 15:51:23 +01:00
parent 8ef9b8feea
commit 8a9d6b417f
2 changed files with 40 additions and 12 deletions

View File

@@ -63,6 +63,22 @@ ol.format.WMSGetFeatureInfo.featureIdentifier_ = '_feature';
ol.format.WMSGetFeatureInfo.layerIdentifier_ = '_layer';
/**
* @return {Array.<string>} layers
*/
ol.format.WMSGetFeatureInfo.prototype.getLayers = function() {
return this.layers_;
};
/**
* @param {Array.<string>} layers Layers to parse.
*/
ol.format.WMSGetFeatureInfo.prototype.setLayers = function(layers) {
this.layers_ = layers;
};
/**
* @param {Node} node Node.
* @param {Array.<*>} objectStack Object stack.

View File

@@ -1,10 +1,24 @@
goog.require('ol.format.WMSGetFeatureInfo');
describe('ol.format.WMSGetFeatureInfo', function() {
describe('#getLayers', function() {
it('returns null if layers is undefined', function() {
var format = new ol.format.WMSGetFeatureInfo();
expect(format.getLayers()).to.be(null);
});
it('returns the value provided in the layers option', function() {
var format = new ol.format.WMSGetFeatureInfo({
layers: ['a', 'z']
});
expect(format.getLayers()).to.eql(['a', 'z']);
});
});
describe('#readFormat', function() {
describe('read Features', function() {
@@ -139,21 +153,19 @@ describe('ol.format.WMSGetFeatureInfo', function() {
' </AAA62_feature>' +
' </AAA62_layer>' +
'</msGMLOutput>';
var features = new ol.format.WMSGetFeatureInfo().readFeatures(text);
var format = new ol.format.WMSGetFeatureInfo();
var features = format.readFeatures(text);
expect(features.length).to.be(2);
expect(features[0].get('OBJECTID')).to.be('287');
expect(features[1].get('OBJECTID')).to.be('1251');
var aaa64Features = new ol.format.WMSGetFeatureInfo({
layers: ['AAA64']
}).readFeatures(text);
format.setLayers(['AAA64']);
var aaa64Features = format.readFeatures(text);
expect(aaa64Features.length).to.be(1);
var allFeatures = new ol.format.WMSGetFeatureInfo({
layers: ['AAA64', 'AAA62']
}).readFeatures(text);
format.setLayers(['AAA64', 'AAA62']);
var allFeatures = format.readFeatures(text);
expect(allFeatures.length).to.be(2);
var dummyFeatures = new ol.format.WMSGetFeatureInfo({
layers: ['foo', 'bar']
}).readFeatures(text);
format.setLayers(['foo', 'bar']);
var dummyFeatures = format.readFeatures(text);
expect(dummyFeatures.length).to.be(0);
});