agmission/Development/libs/shapefile/test/shp-test.js

32 lines
969 B
JavaScript

var fs = require("fs"),
tape = require("tape"),
shapefile = require("../");
testConversion("ignore-properties");
testConversion("multipointm");
testConversion("pointm");
testConversion("polygonm");
testConversion("polylinem");
testConversion("ne_10m_time_zones");
testConversion("ne_10m_railroads");
function testConversion(name, options) {
tape("shapefile.openShp(" + name + ")", function(test) {
shapefile.openShp("test/" + name + ".shp", options)
.then(source => {
var values = [];
return source.read().then(function read(result) {
if (result.done) return values;
values.push(result.value);
return source.read().then(read);
});
})
.then(values => (test.deepEqual(values, JSON.parse(fs.readFileSync("test/" + name + ".json", "utf8")).features.map(geometry)), test.end()))
.catch(error => test.end(error));
});
}
function geometry(feature) {
return feature.geometry;
}