Add (failing) test to show getGeocoderData handles missing table gracefully
This commit is contained in:
@@ -13,12 +13,16 @@ var expected = {
|
||||
};
|
||||
|
||||
var tmp = require('os').tmpdir() + '/mbtiles-test-' + (+new Date).toString(16);
|
||||
var tilesOnly;
|
||||
var index;
|
||||
var from;
|
||||
var to;
|
||||
|
||||
try { fs.mkdirSync(tmp); } catch(err) { throw err; }
|
||||
|
||||
tape('setup', function(assert) {
|
||||
tilesOnly = new MBTiles(tmp + '/tilesOnly.mbtiles', assert.end);
|
||||
});
|
||||
tape('setup', function(assert) {
|
||||
index = new MBTiles(__dirname + '/fixtures/geocoder_data.mbtiles', assert.end);
|
||||
});
|
||||
@@ -37,6 +41,22 @@ tape('getGeocoderData', function(assert) {
|
||||
});
|
||||
});
|
||||
|
||||
tape('getGeocoderData (nodata)', function(assert) {
|
||||
index.getGeocoderData('term', 1e6, function(err, buffer) {
|
||||
assert.ifError(err);
|
||||
assert.equal(buffer, undefined);
|
||||
assert.end();
|
||||
});
|
||||
});
|
||||
|
||||
tape('getGeocoderData (no table)', function(assert) {
|
||||
tilesOnly.getGeocoderData('term', 0, function(err, buffer) {
|
||||
assert.ifError(err);
|
||||
assert.equal(buffer, undefined);
|
||||
assert.end();
|
||||
});
|
||||
});
|
||||
|
||||
tape('putGeocoderData', function(assert) {
|
||||
to.startWriting(function(err) {
|
||||
assert.ifError(err);
|
||||
@@ -151,6 +171,7 @@ tape('cleanup', function(assert) {
|
||||
if (err) throw err;
|
||||
to.close(function(err) {
|
||||
if (err) throw err;
|
||||
try { fs.unlinkSync(tmp + '/tilesOnly.mbtiles'); } catch(err) { throw err; }
|
||||
try { fs.unlinkSync(tmp + '/indexed.mbtiles'); } catch(err) { throw err; }
|
||||
try { fs.rmdirSync(tmp); } catch(err) { throw err; }
|
||||
assert.end();
|
||||
|
||||
Reference in New Issue
Block a user