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));
});
});