diff --git a/src/ol/format/wmsgetfeatureinfo.js b/src/ol/format/wmsgetfeatureinfo.js index 6bc34c38e1..d53ab8587c 100644 --- a/src/ol/format/wmsgetfeatureinfo.js +++ b/src/ol/format/wmsgetfeatureinfo.js @@ -63,6 +63,22 @@ ol.format.WMSGetFeatureInfo.featureIdentifier_ = '_feature'; ol.format.WMSGetFeatureInfo.layerIdentifier_ = '_layer'; +/** + * @return {Array.} layers + */ +ol.format.WMSGetFeatureInfo.prototype.getLayers = function() { + return this.layers_; +}; + + +/** + * @param {Array.} layers Layers to parse. + */ +ol.format.WMSGetFeatureInfo.prototype.setLayers = function(layers) { + this.layers_ = layers; +}; + + /** * @param {Node} node Node. * @param {Array.<*>} objectStack Object stack. diff --git a/test/spec/ol/format/wmsgetfeatureinfo.test.js b/test/spec/ol/format/wmsgetfeatureinfo.test.js index a631d222a9..3aef6842d3 100644 --- a/test/spec/ol/format/wmsgetfeatureinfo.test.js +++ b/test/spec/ol/format/wmsgetfeatureinfo.test.js @@ -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() { ' ' + ' ' + ''; - 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); });