WIP merge 'gpx' and 'mvt' layers into single 'data' layer

This commit is contained in:
Bryan Housel
2018-08-17 13:03:07 -04:00
parent 52c3858b48
commit 4b446e9e78
12 changed files with 191 additions and 247 deletions
+2 -3
View File
@@ -115,12 +115,11 @@
<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/data.js'></script>
<script src='spec/svg/icon.js'></script>
<script src='spec/svg/layers.js'></script>
<script src='spec/svg/lines.js'></script>
<script src='spec/svg/midpoints.js'></script>
<script src='spec/svg/mvt.js'></script>
<script src='spec/svg/osm.js'></script>
<script src='spec/svg/points.js'></script>
<script src='spec/svg/svg.js'></script>
@@ -149,4 +148,4 @@
</script>
</body>
</html>
</html>
+18 -18
View File
@@ -1,4 +1,4 @@
describe('iD.svgGpx', function () {
describe('iD.svgData', function () {
var context;
var surface;
var dispatch = d3.dispatch('change');
@@ -41,19 +41,19 @@ describe('iD.svgGpx', function () {
});
it('creates layer-gpx', function () {
var render = iD.svgGpx(projection, context, dispatch);
it('creates layer-geojson', function () {
var render = iD.svgData(projection, context, dispatch);
surface.call(render);
var layers = surface.selectAll('g.layer-gpx').nodes();
var layers = surface.selectAll('g.layer-geojson').nodes();
expect(layers.length).to.eql(1);
});
it('draws geojson', function () {
var render = iD.svgGpx(projection, context, dispatch).geojson(gj);
var render = iD.svgData(projection, context, dispatch).geojson(gj);
surface.call(render);
var path = surface.selectAll('path.gpx');
var path = surface.selectAll('path');
expect(path.nodes().length).to.eql(1);
expect(path.attr('d')).to.match(/^M.*z$/);
});
@@ -61,30 +61,30 @@ describe('iD.svgGpx', function () {
describe('#files', function() {
it('handles gpx files', function () {
var files = '../../data/gpxtest.gpx';
var render = iD.svgGpx(projection, context, dispatch).files(files);
var render = iD.svgData(projection, context, dispatch).files(files);
surface.call(render);
var path = surface.selectAll('path.gpx');
var path = surface.selectAll('path');
expect(path.nodes().length).to.eql(1);
expect(path.attr('d')).to.match(/^M.*z$/);
});
it('handles geojson files', function () {
var files = '../../data/gpxtest.json';
var render = iD.svgGpx(projection, context, dispatch).files(files);
var render = iD.svgData(projection, context, dispatch).files(files);
surface.call(render);
var path = surface.selectAll('path.gpx');
var path = surface.selectAll('path');
expect(path.nodes().length).to.eql(1);
expect(path.attr('d')).to.match(/^M.*z$/);
});
it('handles kml files', function () {
var files = '../../data/gpxtest.kml';
var render = iD.svgGpx(projection, context, dispatch).files(files);
var render = iD.svgData(projection, context, dispatch).files(files);
surface.call(render);
var path = surface.selectAll('path.gpx');
var path = surface.selectAll('path');
expect(path.nodes().length).to.eql(1);
expect(path.attr('d')).to.match(/^M.*z$/);
});
@@ -93,25 +93,25 @@ describe('iD.svgGpx', function () {
describe('#showLabels', function() {
it('shows labels by default', function () {
var render = iD.svgGpx(projection, context, dispatch).geojson(gj);
var render = iD.svgData(projection, context, dispatch).geojson(gj);
surface.call(render);
var label = surface.selectAll('text.gpxlabel');
var label = surface.selectAll('text.label');
expect(label.nodes().length).to.eql(1);
expect(label.text()).to.eql('New Jersey');
var halo = surface.selectAll('text.gpxlabel-halo');
var halo = surface.selectAll('text.label-halo');
expect(halo.nodes().length).to.eql(1);
expect(halo.text()).to.eql('New Jersey');
});
it('hides labels with showLabels(false)', function () {
var render = iD.svgGpx(projection, context, dispatch).geojson(gj).showLabels(false);
var render = iD.svgData(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;
expect(surface.selectAll('text.label').empty()).to.be.ok;
expect(surface.selectAll('text.label-halo').empty()).to.be.ok;
});
});
+7 -8
View File
@@ -26,16 +26,15 @@ describe('iD.svgLayers', function () {
it('creates default data layers', function () {
container.call(iD.svgLayers(projection, context));
var nodes = container.selectAll('svg .data-layer').nodes();
expect(nodes.length).to.eql(9);
expect(nodes.length).to.eql(8);
expect(d3.select(nodes[0]).classed('data-layer-osm')).to.be.true;
expect(d3.select(nodes[1]).classed('data-layer-notes')).to.be.true;
expect(d3.select(nodes[2]).classed('data-layer-gpx')).to.be.true;
expect(d3.select(nodes[3]).classed('data-layer-mvt')).to.be.true;
expect(d3.select(nodes[4]).classed('data-layer-streetside')).to.be.true;
expect(d3.select(nodes[5]).classed('data-layer-mapillary-images')).to.be.true;
expect(d3.select(nodes[6]).classed('data-layer-mapillary-signs')).to.be.true;
expect(d3.select(nodes[7]).classed('data-layer-openstreetcam-images')).to.be.true;
expect(d3.select(nodes[8]).classed('data-layer-debug')).to.be.true;
expect(d3.select(nodes[2]).classed('data-layer-data')).to.be.true;
expect(d3.select(nodes[3]).classed('data-layer-streetside')).to.be.true;
expect(d3.select(nodes[4]).classed('data-layer-mapillary-images')).to.be.true;
expect(d3.select(nodes[5]).classed('data-layer-mapillary-signs')).to.be.true;
expect(d3.select(nodes[6]).classed('data-layer-openstreetcam-images')).to.be.true;
expect(d3.select(nodes[7]).classed('data-layer-debug')).to.be.true;
});
});