From eb19000a0607b3f841a272a23b4cc289ab138390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Fri, 17 Jan 2014 17:32:49 +0100 Subject: [PATCH] Add tests for ol.source.TileWMS#getGetFeatureInfoUrl --- test/spec/ol/source/tilewmssource.test.js | 67 +++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/test/spec/ol/source/tilewmssource.test.js b/test/spec/ol/source/tilewmssource.test.js index ecdc587cc4..c7b192b641 100644 --- a/test/spec/ol/source/tilewmssource.test.js +++ b/test/spec/ol/source/tilewmssource.test.js @@ -104,6 +104,73 @@ describe('ol.source.TileWMS', function() { }); + describe('#getGetFeatureInfo', function() { + + it('returns the expected GetFeatureInfo URL', function() { + var source = new ol.source.TileWMS(options); + source.pixelRatio_ = 1; + var url = source.getGetFeatureInfoUrl( + [-7000000, -12000000], + 19567.87924100512, ol.proj.get('EPSG:3857'), + {INFO_FORMAT: 'text/plain'}); + var uri = new goog.Uri(url); + expect(uri.getScheme()).to.be('http'); + expect(uri.getDomain()).to.be('example.com'); + expect(uri.getPath()).to.be('/wms'); + var queryData = uri.getQueryData(); + expect(queryData.get('BBOX')).to.be( + '-10018754.171394622,-15028131.257091932,' + + '-5009377.085697311,-10018754.17139462'); + expect(queryData.get('CRS')).to.be('EPSG:3857'); + expect(queryData.get('FORMAT')).to.be('image/png'); + expect(queryData.get('HEIGHT')).to.be('256'); + expect(queryData.get('I')).to.be('154'); + expect(queryData.get('J')).to.be('101'); + expect(queryData.get('LAYERS')).to.be('layer'); + expect(queryData.get('QUERY_LAYERS')).to.be('layer'); + expect(queryData.get('REQUEST')).to.be('GetFeatureInfo'); + expect(queryData.get('SERVICE')).to.be('WMS'); + expect(queryData.get('SRS')).to.be(undefined); + expect(queryData.get('STYLES')).to.be(''); + expect(queryData.get('TRANSPARENT')).to.be('true'); + expect(queryData.get('VERSION')).to.be('1.3.0'); + expect(queryData.get('WIDTH')).to.be('256'); + expect(uri.getFragment()).to.be.empty(); + }); + + it('sets the QUERY_LAYERS param as expected', function() { + var source = new ol.source.TileWMS(options); + source.pixelRatio_ = 1; + var url = source.getGetFeatureInfoUrl( + [-7000000, -12000000], + 19567.87924100512, ol.proj.get('EPSG:3857'), + {INFO_FORMAT: 'text/plain', QUERY_LAYERS: 'foo,bar'}); + var uri = new goog.Uri(url); + expect(uri.getScheme()).to.be('http'); + expect(uri.getDomain()).to.be('example.com'); + expect(uri.getPath()).to.be('/wms'); + var queryData = uri.getQueryData(); + expect(queryData.get('BBOX')).to.be( + '-10018754.171394622,-15028131.257091932,' + + '-5009377.085697311,-10018754.17139462'); + expect(queryData.get('CRS')).to.be('EPSG:3857'); + expect(queryData.get('FORMAT')).to.be('image/png'); + expect(queryData.get('HEIGHT')).to.be('256'); + expect(queryData.get('I')).to.be('154'); + expect(queryData.get('J')).to.be('101'); + expect(queryData.get('LAYERS')).to.be('layer'); + expect(queryData.get('QUERY_LAYERS')).to.be('foo,bar'); + expect(queryData.get('REQUEST')).to.be('GetFeatureInfo'); + expect(queryData.get('SERVICE')).to.be('WMS'); + expect(queryData.get('SRS')).to.be(undefined); + expect(queryData.get('STYLES')).to.be(''); + expect(queryData.get('TRANSPARENT')).to.be('true'); + expect(queryData.get('VERSION')).to.be('1.3.0'); + expect(queryData.get('WIDTH')).to.be('256'); + expect(uri.getFragment()).to.be.empty(); + expect(uri.getFragment()).to.be.empty(); + }); + }); });