From 26afb6f075f80bc676b56866824a6070a444dffe Mon Sep 17 00:00:00 2001 From: Brian Hatchl Date: Mon, 23 Aug 2021 14:57:03 -0400 Subject: [PATCH 1/2] add test with two failures due to bug --- translations/test/multipolygon_relation.js | 121 +++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 translations/test/multipolygon_relation.js diff --git a/translations/test/multipolygon_relation.js b/translations/test/multipolygon_relation.js new file mode 100644 index 0000000000..7d4abdf160 --- /dev/null +++ b/translations/test/multipolygon_relation.js @@ -0,0 +1,121 @@ +var assert = require('assert'), + DOMParser = new require('xmldom').DOMParser, + parser = new DOMParser(); + +var server = require('../TranslationServer.js'); + +describe('TranslationServer', function () { + + it('should translate a multipolygon relation from osm -> mcgp with error', function() { + + var data = '\ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + '; + + var osm_xml = server.handleInputs({ + osm: data, + method: 'POST', + translation: 'MGCP', + path: '/translateTo' + }); + + // console.log(osm_xml); + + var xml = parser.parseFromString(osm_xml); + + assert.equal(xml.getElementsByTagName("osm")[0].getAttribute("schema"), "MGCP"); + assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("k"), "error"); + assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("v"), "No Valid Feature Code"); + + }); + + it('should translate an invalid tagged relation from osm -> mcgp with error', function() { + + var data = '\ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + '; + + var osm_xml = server.handleInputs({ + osm: data, + method: 'POST', + translation: 'MGCP', + path: '/translateTo' + }); + + // console.log(osm_xml); + + var xml = parser.parseFromString(osm_xml); + + assert.equal(xml.getElementsByTagName("osm")[0].getAttribute("schema"), "MGCP"); + assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("k"), "error"); + assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("v"), "No Valid Feature Code"); + + }); + + it('should translate an invalid tagged way from osm -> mcgp with error', function() { + + var data = '\ + \ + \ + \ + \ + \ + \ + \ + \ + '; + + var osm_xml = server.handleInputs({ + osm: data, + method: 'POST', + translation: 'MGCP', + path: '/translateTo' + }); + + // console.log(osm_xml); + + var xml = parser.parseFromString(osm_xml); + + assert.equal(xml.getElementsByTagName("osm")[0].getAttribute("schema"), "MGCP"); + assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("k"), "error"); + assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("v"), "No Valid Feature Code"); + + }); + +}); From 626a3045d3c75653aca735719136447ca851d40b Mon Sep 17 00:00:00 2001 From: "Matt C. Jackson" Date: Thu, 26 Aug 2021 05:53:47 -0400 Subject: [PATCH 2/2] Tweaked the multipolygon relation test --- translations/test/multipolygon_relation.js | 111 ++++++++++++--------- 1 file changed, 65 insertions(+), 46 deletions(-) diff --git a/translations/test/multipolygon_relation.js b/translations/test/multipolygon_relation.js index 7d4abdf160..28d39270c4 100644 --- a/translations/test/multipolygon_relation.js +++ b/translations/test/multipolygon_relation.js @@ -8,27 +8,34 @@ describe('TranslationServer', function () { it('should translate a multipolygon relation from osm -> mcgp with error', function() { - var data = '\ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - '; + var data = " \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + "; var osm_xml = server.handleInputs({ osm: data, @@ -42,34 +49,45 @@ describe('TranslationServer', function () { var xml = parser.parseFromString(osm_xml); assert.equal(xml.getElementsByTagName("osm")[0].getAttribute("schema"), "MGCP"); - assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("k"), "error"); - assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("v"), "No Valid Feature Code"); + // We expect to see "type=multipolygon" as the ONLY tag + assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("k"), "type"); + assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("v"), "multipolygon"); + + assert.equal(xml.getElementsByTagName("tag").length,1); }); it('should translate an invalid tagged relation from osm -> mcgp with error', function() { - var data = '\ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - '; + var data = " \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + "; var osm_xml = server.handleInputs({ osm: data, @@ -83,8 +101,9 @@ describe('TranslationServer', function () { var xml = parser.parseFromString(osm_xml); assert.equal(xml.getElementsByTagName("osm")[0].getAttribute("schema"), "MGCP"); - assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("k"), "error"); - assert.equal(xml.getElementsByTagName("tag")[0].getAttribute("v"), "No Valid Feature Code"); + // NOTE: tag[0] == "type=multipolygon" + assert.equal(xml.getElementsByTagName("tag")[1].getAttribute("k"), "error"); + assert.equal(xml.getElementsByTagName("tag")[1].getAttribute("v"), "No Valid Feature Code"); });