diff --git a/test/data/gpxtest.gpx b/test/data/gpxtest.gpx new file mode 100644 index 000000000..0df3c35d5 --- /dev/null +++ b/test/data/gpxtest.gpx @@ -0,0 +1,13 @@ + + + + + New Jersey + + N.J. + 19717.8 + New Jersey + 316973311 + + + diff --git a/test/data/gpxtest.json b/test/data/gpxtest.json new file mode 100644 index 000000000..b0f47e71b --- /dev/null +++ b/test/data/gpxtest.json @@ -0,0 +1,23 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.38928604125977, + 40.150275473401365 + ] + }, + "properties": { + "abbr": "N.J.", + "area": 19717.8, + "name": "New Jersey", + "name_en": "New Jersey", + "osm_id": 316973311 + }, + "id": 316973311 + } + ] +}; diff --git a/test/data/gpxtest.kml b/test/data/gpxtest.kml new file mode 100644 index 000000000..5acf1ad16 --- /dev/null +++ b/test/data/gpxtest.kml @@ -0,0 +1,22 @@ + + + + + + + + + +gpxtest + + New Jersey + + N.J. + 19717.8 + New Jersey + 316973311 + + -74.3892860412598,40.1502754734014 + + + diff --git a/test/spec/svg/gpx.js b/test/spec/svg/gpx.js index e185f7f61..cb0ef4e5f 100644 --- a/test/spec/svg/gpx.js +++ b/test/spec/svg/gpx.js @@ -26,66 +26,131 @@ describe('iD.svgGpx', function () { }); it('draws geojson', function () { - var gj = {}; // add test fixture + var gj = { + 'type': 'FeatureCollection', + 'features': [ + { + 'type': 'Feature', + 'geometry': { + 'type': 'Point', + 'coordinates': [ + -74.38928604125977, + 40.150275473401365 + ] + }, + 'properties': { + 'abbr': 'N.J.', + 'area': 19717.8, + 'name': 'New Jersey', + 'name_en': 'New Jersey', + 'osm_id': 316973311 + }, + 'id': 316973311 + } + ] + }; var render = iD.svgGpx(projection, context, dispatch).geojson(gj); surface.call(render); var elements = surface.selectAll('path.gpx').nodes(); - // expect(elements.length).to.eql(1); - // tests that the path has data + expect(elements.length).to.eql(1); + expect(d3.select(elements[0]).classed('gpx')).to.be.true; }); describe('#files', function() { it('handles gpx files', function () { - var files = []; // add test fixture + var files = '../../data/gpxtest.gpx'; var render = iD.svgGpx(projection, context, dispatch).files(files); surface.call(render); var elements = surface.selectAll('path.gpx').nodes(); - // expect(elements.length).to.eql(1); - // tests that the path has data + expect(elements.length).to.eql(1); + expect(d3.select(elements[0]).classed('gpx')).to.be.true; }); it('handles geojson files', function () { - var files = []; // add test fixture + var files = '../../data/gpxtest.json'; var render = iD.svgGpx(projection, context, dispatch).files(files); surface.call(render); var elements = surface.selectAll('path.gpx').nodes(); - // expect(elements.length).to.eql(1); - // tests that the path has data + expect(elements.length).to.eql(1); + expect(d3.select(elements[0]).classed('gpx')).to.be.true; }); it('handles kml files', function () { - var files = []; // add test fixture + var files = '../../data/gpxtest.kml'; var render = iD.svgGpx(projection, context, dispatch).files(files); surface.call(render); var elements = surface.selectAll('path.gpx').nodes(); - // expect(elements.length).to.eql(1); - // tests that the path has data + expect(elements.length).to.eql(1); + expect(d3.select(elements[0]).classed('gpx')).to.be.true; }); }); describe('#showLabels', function() { it('shows labels by default', function () { - var gj = {}; // add test fixture + var gj = { + 'type': 'FeatureCollection', + 'features': [ + { + 'type': 'Feature', + 'geometry': { + 'type': 'Point', + 'coordinates': [ + -74.38928604125977, + 40.150275473401365 + ] + }, + 'properties': { + 'abbr': 'N.J.', + 'area': 19717.8, + 'name': 'New Jersey', + 'name_en': 'New Jersey', + 'osm_id': 316973311 + }, + 'id': 316973311 + } + ] + }; var render = iD.svgGpx(projection, context, dispatch).geojson(gj); surface.call(render); - var elements = surface.selectAll('text.gpxlabel').nodes(); - // expect(elements.length).to.eql(1); - // tests that the text has data + //expect(elements.length).to.eql(1); + //expect(d3.select(elements[0]).classed('text.gpxlabel')).to.be.true; var halo = surface.selectAll('text.gpxlabel-halo').nodes(); - // expect(halo.length).to.eql(1); - // tests that the text halo has data + //expect(halo.length).to.eql(1); + //expect(d3.select(elements[0]).classed('text.gpxlabel-halo')).to.be.true; }); it('hides labels with showLabels(false)', function () { - var gj = {}; // add test fixture + var gj = { + 'type': 'FeatureCollection', + 'features': [ + { + 'type': 'Feature', + 'geometry': { + 'type': 'Point', + 'coordinates': [ + -74.38928604125977, + 40.150275473401365 + ] + }, + 'properties': { + 'abbr': 'N.J.', + 'area': 19717.8, + 'name': 'New Jersey', + 'name_en': 'New Jersey', + 'osm_id': 316973311 + }, + 'id': 316973311 + } + ] + }; var render = iD.svgGpx(projection, context, dispatch).geojson(gj).showLabels(false); surface.call(render);