Merge branch 'gpxtext' of https://github.com/vershwal/iD into vershwal-gpxtext

This commit is contained in:
Bryan Housel
2018-07-07 23:28:48 -04:00
4 changed files with 142 additions and 19 deletions
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<gpx version="1.1" creator="GDAL 2.2.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogr="http://osgeo.org/gdal" xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<metadata><bounds minlat="40.150275473401365" minlon="-74.389286041259766" maxlat="40.150275473401365" maxlon="-74.389286041259766"/></metadata>
<wpt lat="40.150275473401365" lon="-74.389286041259766">
<name>New Jersey</name>
<extensions>
<ogr:abbr>N.J.</ogr:abbr>
<ogr:area>19717.8</ogr:area>
<ogr:name_en>New Jersey</ogr:name_en>
<ogr:osm_id>316973311</ogr:osm_id>
</extensions>
</wpt>
</gpx>
+23
View File
@@ -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
}
]
};
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" ?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document id="root_doc">
<Schema name="gpxtest" id="gpxtest">
<SimpleField name="abbr" type="string"></SimpleField>
<SimpleField name="area" type="float"></SimpleField>
<SimpleField name="name_en" type="string"></SimpleField>
<SimpleField name="osm_id" type="int"></SimpleField>
</Schema>
<Folder><name>gpxtest</name>
<Placemark>
<name>New Jersey</name>
<ExtendedData><SchemaData schemaUrl="#gpxtest">
<SimpleData name="abbr">N.J.</SimpleData>
<SimpleData name="area">19717.8</SimpleData>
<SimpleData name="name_en">New Jersey</SimpleData>
<SimpleData name="osm_id">316973311</SimpleData>
</SchemaData></ExtendedData>
<Point><coordinates>-74.3892860412598,40.1502754734014</coordinates></Point>
</Placemark>
</Folder>
</Document></kml>
+84 -19
View File
@@ -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);