stub test/spec/svg/gpx.js

This commit is contained in:
Bryan Housel
2018-06-29 02:23:42 -04:00
parent d668f79407
commit 76d21c8293
2 changed files with 98 additions and 0 deletions

View File

@@ -110,6 +110,7 @@
<script src='spec/services/taginfo.js'></script>
<script src='spec/svg/areas.js'></script>
<script src='spec/svg/gpx.js'></script>
<script src='spec/svg/icon.js'></script>
<script src='spec/svg/layers.js'></script>
<script src='spec/svg/lines.js'></script>

97
test/spec/svg/gpx.js Normal file
View File

@@ -0,0 +1,97 @@
describe('iD.svgGpx', function () {
var context;
var surface;
var dispatch = d3.dispatch('change');
var projection = d3.geoProjection(function(x, y) { return [x, -y]; })
.translate([0, 0])
.scale(iD.geoZoomToScale(17))
.clipExtent([[0, 0], [Infinity, Infinity]]);
beforeEach(function () {
context = iD.coreContext();
d3.select(document.createElement('div'))
.attr('id', 'map')
.call(context.map().centerZoom([0, 0], 17));
surface = context.surface();
});
it('creates layer-gpx', function () {
var render = iD.svgGpx(projection, context, dispatch);
surface.call(render);
var layers = surface.selectAll('g.layer-gpx').nodes();
expect(layers.length).to.eql(1);
expect(d3.select(layers[0]).classed('layer-gpx')).to.be.true;
});
it('draws geojson', function () {
var gj = {}; // add test fixture
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
});
describe('#files', function() {
it('handles gpx files', function () {
var files = []; // add test fixture
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
});
it('handles geojson files', function () {
var files = []; // add test fixture
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
});
it('handles kml files', function () {
var files = []; // add test fixture
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
});
});
describe('#showLabels', function() {
it('shows labels by default', function () {
var gj = {}; // add test fixture
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
var halo = surface.selectAll('text.gpxlabel-halo').nodes();
// expect(halo.length).to.eql(1);
// tests that the text halo has data
});
it('hides labels with showLabels(false)', function () {
var gj = {}; // add test fixture
var render = iD.svgGpx(projection, context, dispatch).geojson(gj).showLabels(false);
surface.call(render);
expect(surface.selectAll('text.gpxlabel').empty()).to.be.ok;
expect(surface.selectAll('text.gpxlabel-halo').empty()).to.be.ok;
});
});
});