diff --git a/package.json b/package.json index cbf6db9..7306d4d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mbtiles", - "version": "0.1.5", + "version": "0.1.6", "description": "Utilities and tilelive integration for the MBTiles format.", "url": "http://github.com/mapbox/node-mbtiles", "author": { diff --git a/test/fixtures/corrupt.mbtiles b/test/fixtures/corrupt.mbtiles new file mode 100644 index 0000000..94180c3 Binary files /dev/null and b/test/fixtures/corrupt.mbtiles differ diff --git a/test/read.test.js b/test/read.test.js index f005b83..3ecddc0 100644 --- a/test/read.test.js +++ b/test/read.test.js @@ -10,7 +10,8 @@ var fixtures = { plain_2: __dirname + '/fixtures/plain_2.mbtiles', plain_3: __dirname + '/fixtures/plain_3.mbtiles', plain_4: __dirname + '/fixtures/plain_4.mbtiles', - non_existent: __dirname + '/fixtures/non_existent.mbtiles' + non_existent: __dirname + '/fixtures/non_existent.mbtiles', + corrupt: __dirname + '/fixtures/corrupt.mbtiles' }; try { fs.unlink(fixtures.non_existent); } catch (err) {} @@ -224,3 +225,23 @@ exports['get tiles from non-existent file'] = function(beforeExit) { assert.equal(status.error, 14); }); }; + +exports['get tiles from corrupt file'] = function(beforeExit) { + var status = { + success: 0, + error: 0 + }; + var error; + new MBTiles(fixtures.corrupt, function(err, mbtiles) { + error = err; + }); + + beforeExit(function() { + assert.throws( + function() { + throw err; + }, + Error + ); + }); +};