Skip to content

v0.2.48..v0.2.49 changeset school_grounds.js

Garret Voltz edited this page Oct 2, 2019 · 1 revision
diff --git a/translations/test/school_grounds.js b/translations/test/school_grounds.js
new file mode 100644
index 0000000..c22cb0d
--- /dev/null
+++ b/translations/test/school_grounds.js
@@ -0,0 +1,73 @@
+var assert = require('assert'),
+    osmtogeojson = require('osmtogeojson'),
+    DOMParser = new require('xmldom').DOMParser,
+    parser = new DOMParser();
+
+var server = require('../TranslationServer.js');
+
+describe('TranslationServer', function () {
+
+    var schemas = [
+        'TDSv40',
+        'TDSv61',
+        // 'TDSv70'
+    ];
+
+    schemas.forEach(schema => {
+        it(`should translate amenity=school to F_CODE=AL010 & FFN=850 from osm -> ${ schema } -> osm`, function () {
+
+            var data = '<osm version="0.6" upload="true" generator="hootenanny">\
+                            <node id="-10" action="modify" visible="true" lat="0.68307256979" lon="18.45073925651" />\
+                            <node id="-11" action="modify" visible="true" lat="0.68341620728" lon="18.45091527847" />\
+                            <node id="-12" action="modify" visible="true" lat="0.68306209303" lon="18.45157116983" />\
+                            <node id="-13" action="modify" visible="true" lat="0.68270797876" lon="18.45141400736" />\
+                            <way id="-19" action="modify" visible="true">\
+                                <nd ref="-10" />\
+                                <nd ref="-11" />\
+                                <nd ref="-12" />\
+                                <nd ref="-13" />\
+                                <nd ref="-10" />\
+                                <tag k="amenity" v="school"/>\
+                                <tag k="isced:level" v="1"/>\
+                            </way>\
+                        </osm>';
+
+            var osm_xml = server.handleInputs({
+                osm: data,
+                method: 'POST',
+                translation: schema,
+                path: '/translateTo'
+            });
+
+            // console.log(osm_xml);
+
+            var xml = parser.parseFromString(osm_xml);
+            var gj = osmtogeojson(xml);
+
+            assert.strictEqual(xml.getElementsByTagName("osm")[0].getAttribute("schema"), schema);
+
+            var tags = gj.features[0].properties;
+            assert.strictEqual(tags['F_CODE'], 'AL010');
+            assert.strictEqual(tags['FFN'], '851');
+
+            var tds_xml = server.handleInputs({
+                osm: osm_xml,
+                method: 'POST',
+                translation: schema,
+                path: '/translateFrom'
+            });
+
+            // console.log(tds_xml);
+
+            xml = parser.parseFromString(tds_xml);
+            gj = osmtogeojson(xml);
+
+            assert.strictEqual(xml.getElementsByTagName("osm")[0].getAttribute("schema"), "OSM");
+
+            var tags = gj.features[0].properties;
+            assert.strictEqual(tags["amenity"], 'school');
+            assert.strictEqual(tags["isced:level"], '1');
+        });
+    });
+});
+
Clone this wiki locally