diff --git a/src/ol/format/WFS.js b/src/ol/format/WFS.js index f30390fa21..80c20da2aa 100644 --- a/src/ol/format/WFS.js +++ b/src/ol/format/WFS.js @@ -1328,7 +1328,7 @@ function writeTimeInstant(node, time) { * @api */ export function writeFilter(filter, version) { - const child = createElementNS(OGCNS[version], 'Filter'); + const child = createElementNS(getFilterNS(version), 'Filter'); const context = { node: child, }; diff --git a/test/spec/ol/format/wfs.test.js b/test/spec/ol/format/wfs.test.js index e2a22cf55e..defc8251db 100644 --- a/test/spec/ol/format/wfs.test.js +++ b/test/spec/ol/format/wfs.test.js @@ -1457,20 +1457,33 @@ describe('ol.format.WFS', function () { }); describe('when writing out a WFS Filter', function () { - it('creates a filter', function () { - const text = - '' + - ' ' + - ' ' + - ' name' + - ' Mississippi*' + - ' ' + - ' ' + - ' waterway' + - ' riverbank' + - ' ' + - ' ' + - ''; + const wfs1Filter = + '' + + ' ' + + ' ' + + ' name' + + ' Mississippi*' + + ' ' + + ' ' + + ' waterway' + + ' riverbank' + + ' ' + + ' ' + + ''; + const wfs2Filter = + '' + + ' ' + + ' ' + + ' name' + + ' Mississippi*' + + ' ' + + ' ' + + ' waterway' + + ' riverbank' + + ' ' + + ' ' + + ''; + it('creates a WFS 1.x.x filter', function () { const serialized = writeFilter( andFilter( likeFilter('name', 'Mississippi*'), @@ -1478,7 +1491,17 @@ describe('ol.format.WFS', function () { ), '1.1.0' ); - expect(serialized).to.xmleql(parse(text)); + expect(serialized).to.xmleql(parse(wfs1Filter)); + }); + it('creates a WFS 2.x.x filter', function () { + const serialized = writeFilter( + andFilter( + likeFilter('name', 'Mississippi*'), + equalToFilter('waterway', 'riverbank') + ), + '2.0.0' + ); + expect(serialized).to.xmleql(parse(wfs2Filter)); }); });