From da3c7327de57f0dda7496baed475bafc3ca7d2d1 Mon Sep 17 00:00:00 2001 From: Young Hahn Date: Thu, 29 Oct 2015 15:37:05 -0400 Subject: [PATCH] Add (failing) test to show getGeocoderData handles missing table gracefully --- test/geocoder.test.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/geocoder.test.js b/test/geocoder.test.js index 93a141d..314e3c1 100644 --- a/test/geocoder.test.js +++ b/test/geocoder.test.js @@ -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();