+7
-2
@@ -1,7 +1,6 @@
|
|||||||
environment:
|
environment:
|
||||||
matrix:
|
matrix:
|
||||||
- nodejs_version: 0.10
|
- nodejs_version: 0.10
|
||||||
- nodejs_version: 0.11
|
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
- x86
|
- x86
|
||||||
@@ -12,4 +11,10 @@ install:
|
|||||||
- node --version
|
- node --version
|
||||||
- npm --version
|
- npm --version
|
||||||
- npm install
|
- npm install
|
||||||
- npm test
|
- npm test
|
||||||
|
|
||||||
|
build: OFF
|
||||||
|
test: OFF
|
||||||
|
test_script: OFF
|
||||||
|
deploy: OFF
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -28,12 +28,12 @@
|
|||||||
"sphericalmercator": "~1.0.1"
|
"sphericalmercator": "~1.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"mocha": "~1.8.2"
|
"tape": "~3.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.10.0"
|
"node": ">= 0.10.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "./node_modules/.bin/mocha"
|
"test": "tape test/*.js"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-12
@@ -1,32 +1,30 @@
|
|||||||
require('sqlite3').verbose();
|
require('sqlite3').verbose();
|
||||||
|
|
||||||
|
var tape = require('tape');
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var assert = require('assert');
|
|
||||||
var MBTiles = require('..');
|
var MBTiles = require('..');
|
||||||
var fixtureDir = __dirname + '/fixtures/output';
|
var fixtureDir = __dirname + '/fixtures/output';
|
||||||
var image = fs.readFileSync(__dirname + '/fixtures/images/plain_1_0_0_0.png');
|
var image = fs.readFileSync(__dirname + '/fixtures/images/plain_1_0_0_0.png');
|
||||||
|
|
||||||
describe('write', function() {
|
tape('setup', function(assert) {
|
||||||
before(function(done) {
|
|
||||||
// Recreate output directory to remove previous tests.
|
// Recreate output directory to remove previous tests.
|
||||||
try { fs.unlinkSync(fixtureDir + '/commit_1.mbtiles'); } catch(err) {}
|
try { fs.unlinkSync(fixtureDir + '/commit_1.mbtiles'); } catch(err) {}
|
||||||
try { fs.mkdirSync(fixtureDir, 0755); } catch(err) {}
|
try { fs.mkdirSync(fixtureDir, 0755); } catch(err) {}
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
it('test mbtiles commit lock', function(done) {
|
tape('test mbtiles commit lock', function(assert) {
|
||||||
var remaining = 10;
|
var remaining = 10;
|
||||||
new MBTiles('mbtiles://' + fixtureDir + '/commit_1.mbtiles?batch=1', function(err, mbtiles) {
|
new MBTiles('mbtiles://' + fixtureDir + '/commit_1.mbtiles?batch=1', function(err, mbtiles) {
|
||||||
assert.ifError(err);
|
assert.ifError(err, 'new MBTiles');
|
||||||
mbtiles.startWriting(function(err) {
|
mbtiles.startWriting(function(err) {
|
||||||
assert.ifError(err);
|
assert.ifError(err, 'startWriting');
|
||||||
for (var i = 0; i < remaining; i++) mbtiles.putTile(0,0,0,image,putcb);
|
for (var i = 0; i < remaining; i++) mbtiles.putTile(0,0,0,image,putcb);
|
||||||
assert.equal(mbtiles._committing, true);
|
assert.equal(mbtiles._committing, true, 'Sets committing lock');
|
||||||
assert.equal(mbtiles._events.commit.length, 19);
|
assert.equal(mbtiles._events.commit.length, 19, 'Queues commits');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
function putcb(err) {
|
function putcb(err) {
|
||||||
assert.ifError(err);
|
assert.ifError(err, 'putTile');
|
||||||
if (!--remaining) done();
|
if (!--remaining) assert.end();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|||||||
+37
-42
@@ -1,9 +1,7 @@
|
|||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var assert = require('assert');
|
|
||||||
var util = require('util');
|
var util = require('util');
|
||||||
var MBTiles = require('..');
|
var MBTiles = require('..');
|
||||||
|
var tape = require('tape');
|
||||||
describe('geocoder (carmen) API', function() {
|
|
||||||
|
|
||||||
var expected = {
|
var expected = {
|
||||||
bounds: '-141.005548666451,41.6690855919108,-52.615930948992,83.1161164353916',
|
bounds: '-141.005548666451,41.6690855919108,-52.615930948992,83.1161164353916',
|
||||||
@@ -14,50 +12,32 @@ var expected = {
|
|||||||
search: 'Canada, CA'
|
search: 'Canada, CA'
|
||||||
};
|
};
|
||||||
|
|
||||||
var tmp = '/tmp/mbtiles-test-' + (+new Date).toString(16);
|
var tmp = require('os').tmpdir() + '/mbtiles-test-' + (+new Date).toString(16);
|
||||||
var index;
|
var index;
|
||||||
var from;
|
var from;
|
||||||
var to;
|
var to;
|
||||||
|
|
||||||
before(function() {
|
try { fs.mkdirSync(tmp); } catch(err) { throw err; }
|
||||||
try { fs.mkdirSync(tmp); } catch(err) { throw err; }
|
|
||||||
|
tape('setup', function(assert) {
|
||||||
|
index = new MBTiles(__dirname + '/fixtures/geocoder_data.mbtiles', assert.end);
|
||||||
});
|
});
|
||||||
before(function(done) {
|
tape('setup', function(assert) {
|
||||||
index = new MBTiles(__dirname + '/fixtures/geocoder_data.mbtiles', done);
|
from = new MBTiles(__dirname + '/fixtures/geocoder_legacy.mbtiles', assert.end);
|
||||||
});
|
});
|
||||||
before(function(done) {
|
tape('setup', function(assert) {
|
||||||
from = new MBTiles(__dirname + '/fixtures/geocoder_legacy.mbtiles', done);
|
to = new MBTiles(tmp + '/indexed.mbtiles', assert.end);
|
||||||
});
|
|
||||||
before(function(done) {
|
|
||||||
to = new MBTiles(tmp + '/indexed.mbtiles', done);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
after(function(done) {
|
tape('getGeocoderData', function(assert) {
|
||||||
this.timeout(5000);
|
|
||||||
index.close(function(err) {
|
|
||||||
if (err) throw err;
|
|
||||||
from.close(function(err) {
|
|
||||||
if (err) throw err;
|
|
||||||
to.close(function(err) {
|
|
||||||
if (err) throw err;
|
|
||||||
try { fs.unlinkSync(tmp + '/indexed.mbtiles'); } catch(err) { throw err; }
|
|
||||||
try { fs.rmdirSync(tmp); } catch(err) { throw err; }
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('getGeocoderData', function(done) {
|
|
||||||
index.getGeocoderData('term', 0, function(err, buffer) {
|
index.getGeocoderData('term', 0, function(err, buffer) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
assert.equal(3891, buffer.length);
|
assert.equal(3891, buffer.length);
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('putGeocoderData', function(done) {
|
tape('putGeocoderData', function(assert) {
|
||||||
this.timeout(5000);
|
|
||||||
to.startWriting(function(err) {
|
to.startWriting(function(err) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
to.putGeocoderData('term', 0, new Buffer('asdf'), function(err) {
|
to.putGeocoderData('term', 0, new Buffer('asdf'), function(err) {
|
||||||
@@ -67,14 +47,14 @@ it('putGeocoderData', function(done) {
|
|||||||
to.getGeocoderData('term', 0, function(err, buffer) {
|
to.getGeocoderData('term', 0, function(err, buffer) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
assert.deepEqual('asdf', buffer.toString());
|
assert.deepEqual('asdf', buffer.toString());
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('getIndexableDocs', function(done) {
|
tape('getIndexableDocs', function(assert) {
|
||||||
from.getIndexableDocs({ limit: 10 }, function(err, docs, pointer) {
|
from.getIndexableDocs({ limit: 10 }, function(err, docs, pointer) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
assert.equal(docs.length, 10);
|
assert.equal(docs.length, 10);
|
||||||
@@ -113,30 +93,30 @@ it('getIndexableDocs', function(done) {
|
|||||||
_zxy: [ '4/0/8' ],
|
_zxy: [ '4/0/8' ],
|
||||||
_center: [ -170.73, -14.318 ]
|
_center: [ -170.73, -14.318 ]
|
||||||
});
|
});
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('geocoderCentroid ABW', function(done) {
|
tape('geocoderCentroid ABW', function(assert) {
|
||||||
from.geocoderCentroid('ABW', ['4/4/7'], function(err, center) {
|
from.geocoderCentroid('ABW', ['4/4/7'], function(err, center) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
assert.equal(parseFloat(center[0].toFixed(10)), -70.3125);
|
assert.equal(parseFloat(center[0].toFixed(10)), -70.3125);
|
||||||
assert.equal(parseFloat(center[1].toFixed(10)), 12.5545635286);
|
assert.equal(parseFloat(center[1].toFixed(10)), 12.5545635286);
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('geocoderCentroid ASM', function(done) {
|
tape('geocoderCentroid ASM', function(assert) {
|
||||||
from.geocoderCentroid('ASM', ['4/0/8'], function(err, center) {
|
from.geocoderCentroid('ASM', ['4/0/8'], function(err, center) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
assert.equal(parseFloat(center[0].toFixed(10)), -170.859375);
|
assert.equal(parseFloat(center[0].toFixed(10)), -170.859375);
|
||||||
assert.equal(parseFloat(center[1].toFixed(10)), -14.2643830876);
|
assert.equal(parseFloat(center[1].toFixed(10)), -14.2643830876);
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('geocoderCentroid USA', function(done) {
|
tape('geocoderCentroid USA', function(assert) {
|
||||||
from.geocoderCentroid('USA', [
|
from.geocoderCentroid('USA', [
|
||||||
'4/0/7',
|
'4/0/7',
|
||||||
'4/0/6',
|
'4/0/6',
|
||||||
@@ -160,8 +140,23 @@ it('geocoderCentroid USA', function(done) {
|
|||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
assert.equal(parseFloat(center[0].toFixed(10)), -118.828125);
|
assert.equal(parseFloat(center[0].toFixed(10)), -118.828125);
|
||||||
assert.equal(parseFloat(center[1].toFixed(10)), 46.0732306254);
|
assert.equal(parseFloat(center[1].toFixed(10)), 46.0732306254);
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
tape('cleanup', function(assert) {
|
||||||
|
index.close(function(err) {
|
||||||
|
if (err) throw err;
|
||||||
|
from.close(function(err) {
|
||||||
|
if (err) throw err;
|
||||||
|
to.close(function(err) {
|
||||||
|
if (err) throw err;
|
||||||
|
try { fs.unlinkSync(tmp + '/indexed.mbtiles'); } catch(err) { throw err; }
|
||||||
|
try { fs.rmdirSync(tmp); } catch(err) { throw err; }
|
||||||
|
assert.end();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+7
-13
@@ -1,19 +1,16 @@
|
|||||||
require('sqlite3').verbose();
|
require('sqlite3').verbose();
|
||||||
|
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
|
var tape = require('tape');
|
||||||
var MBTiles = require('..');
|
var MBTiles = require('..');
|
||||||
var assert = require('assert');
|
|
||||||
var fixtures = {
|
var fixtures = {
|
||||||
plain_1: __dirname + '/fixtures/plain_1.mbtiles',
|
plain_1: __dirname + '/fixtures/plain_1.mbtiles',
|
||||||
empty: __dirname + '/fixtures/empty.mbtiles'
|
empty: __dirname + '/fixtures/empty.mbtiles'
|
||||||
};
|
};
|
||||||
|
|
||||||
describe('info', function() {
|
try { fs.unlinkSync(fixtures.empty); } catch (err) {}
|
||||||
before(function(done) {
|
|
||||||
try { fs.unlinkSync(fixtures.empty); } catch (err) {}
|
tape('get metadata', function(assert) {
|
||||||
done();
|
|
||||||
});
|
|
||||||
it('get metadata', function(done) {
|
|
||||||
new MBTiles(fixtures.plain_1, function(err, mbtiles) {
|
new MBTiles(fixtures.plain_1, function(err, mbtiles) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
|
|
||||||
@@ -39,13 +36,11 @@ describe('info', function() {
|
|||||||
basename: 'plain_1.mbtiles'
|
basename: 'plain_1.mbtiles'
|
||||||
}, data);
|
}, data);
|
||||||
|
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
it('get/put metadata from empty file', function(done) {
|
tape('get/put metadata from empty file', function(assert) {
|
||||||
this.timeout(10e3);
|
|
||||||
|
|
||||||
var info = {
|
var info = {
|
||||||
version: '1.0.0',
|
version: '1.0.0',
|
||||||
level1: { level2: 'property' },
|
level1: { level2: 'property' },
|
||||||
@@ -91,7 +86,7 @@ describe('info', function() {
|
|||||||
custom: [ 'custom list' ]
|
custom: [ 'custom list' ]
|
||||||
}, data);
|
}, data);
|
||||||
|
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -100,4 +95,3 @@ describe('info', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|||||||
+5
-10
@@ -1,23 +1,18 @@
|
|||||||
require('sqlite3').verbose();
|
require('sqlite3').verbose();
|
||||||
|
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
|
var tape = require('tape');
|
||||||
var MBTiles = require('..');
|
var MBTiles = require('..');
|
||||||
var assert = require('assert');
|
|
||||||
var fixtures = {
|
var fixtures = {
|
||||||
doesnotexist: __dirname + '/doesnotexist'
|
doesnotexist: __dirname + '/doesnotexist'
|
||||||
};
|
};
|
||||||
|
|
||||||
describe('list', function() {
|
try { fs.unlinkSync(fixtures.doesnotexist); } catch (err) {}
|
||||||
before(function(done) {
|
|
||||||
try { fs.unlinkSync(fixtures.doesnotexist); } catch (err) {}
|
tape('list', function(assert) {
|
||||||
done();
|
|
||||||
});
|
|
||||||
it('list', function(done) {
|
|
||||||
MBTiles.list(fixtures.doesnotexist, function(err, list) {
|
MBTiles.list(fixtures.doesnotexist, function(err, list) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
assert.deepEqual(list, {});
|
assert.deepEqual(list, {});
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
|
|||||||
+24
-27
@@ -2,7 +2,7 @@ require('sqlite3').verbose();
|
|||||||
|
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var MBTiles = require('..');
|
var MBTiles = require('..');
|
||||||
var assert = require('assert');
|
var tape = require('tape');
|
||||||
|
|
||||||
var fixtures = {
|
var fixtures = {
|
||||||
plain_1: __dirname + '/fixtures/plain_1.mbtiles',
|
plain_1: __dirname + '/fixtures/plain_1.mbtiles',
|
||||||
@@ -22,17 +22,14 @@ function yieldsError(assert, error, msg, callback) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
describe('read', function() {
|
|
||||||
var loaded = {};
|
var loaded = {};
|
||||||
|
|
||||||
before(function(done) {
|
try { fs.unlinkSync(fixtures.non_existent); } catch (err) {}
|
||||||
try { fs.unlinkSync(fixtures.non_existent); } catch (err) {}
|
|
||||||
done();
|
tape('setup', function(assert) {
|
||||||
});
|
|
||||||
before(function(done) {
|
|
||||||
var queue = Object.keys(fixtures);
|
var queue = Object.keys(fixtures);
|
||||||
var load = function() {
|
var load = function() {
|
||||||
if (!queue.length) return done();
|
if (!queue.length) return assert.end();
|
||||||
var key = queue.shift();
|
var key = queue.shift();
|
||||||
new MBTiles(fixtures[key], function(err, mbtiles) {
|
new MBTiles(fixtures[key], function(err, mbtiles) {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
@@ -50,18 +47,18 @@ describe('read', function() {
|
|||||||
// Flip Y coordinate because file names are TMS, but .getTile() expects XYZ.
|
// Flip Y coordinate because file names are TMS, but .getTile() expects XYZ.
|
||||||
coords = [ coords[3], coords[1], coords[2] ];
|
coords = [ coords[3], coords[1], coords[2] ];
|
||||||
coords[2] = Math.pow(2, coords[0]) - 1 - coords[2];
|
coords[2] = Math.pow(2, coords[0]) - 1 - coords[2];
|
||||||
it('tile ' + coords.join('/'), function(done) {
|
tape('tile ' + coords.join('/'), function(assert) {
|
||||||
loaded.plain_1.getTile(coords[0] | 0, coords[1] | 0, coords[2] | 0, function(err, tile, headers) {
|
loaded.plain_1.getTile(coords[0] | 0, coords[1] | 0, coords[2] | 0, function(err, tile, headers) {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
assert.deepEqual(tile, fs.readFileSync(__dirname + '/fixtures/images/' + file));
|
assert.deepEqual(tile, fs.readFileSync(__dirname + '/fixtures/images/' + file));
|
||||||
assert.equal(headers['Content-Type'], 'image/png');
|
assert.equal(headers['Content-Type'], 'image/png');
|
||||||
assert.ok(!isNaN(Date.parse(headers['Last-Modified'])));
|
assert.ok(!isNaN(Date.parse(headers['Last-Modified'])));
|
||||||
assert.ok(/\d+-\d+/.test(headers['ETag']));
|
assert.ok(/\d+-\d+/.test(headers['ETag']));
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
it('grid ' + coords.join('/'), function(done) {
|
tape('grid ' + coords.join('/'), function(assert) {
|
||||||
loaded.plain_1.getGrid(coords[0] | 0, coords[1] | 0, coords[2] | 0, yieldsError(assert, 'error', 'Grid does not exist', done));
|
loaded.plain_1.getGrid(coords[0] | 0, coords[1] | 0, coords[2] | 0, yieldsError(assert, 'error', 'Grid does not exist', assert.end));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
[ [0,1,0],
|
[ [0,1,0],
|
||||||
@@ -72,8 +69,8 @@ describe('read', function() {
|
|||||||
[18,2,262140],
|
[18,2,262140],
|
||||||
[4,0,15]
|
[4,0,15]
|
||||||
].forEach(function(coords) {
|
].forEach(function(coords) {
|
||||||
it('tile ' + coords.join('/'), function(done) {
|
tape('tile ' + coords.join('/'), function(assert) {
|
||||||
loaded.plain_1.getTile(coords[0], coords[1], coords[2], yieldsError(assert, 'error', 'Tile does not exist', done));
|
loaded.plain_1.getTile(coords[0], coords[1], coords[2], yieldsError(assert, 'error', 'Tile does not exist', assert.end));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -84,24 +81,24 @@ describe('read', function() {
|
|||||||
// Flip Y coordinate because file names are TMS, but .getTile() expects XYZ.
|
// Flip Y coordinate because file names are TMS, but .getTile() expects XYZ.
|
||||||
coords = [ coords[3], coords[1], coords[2] ];
|
coords = [ coords[3], coords[1], coords[2] ];
|
||||||
coords[2] = Math.pow(2, coords[0]) - 1 - coords[2];
|
coords[2] = Math.pow(2, coords[0]) - 1 - coords[2];
|
||||||
it('grid ' + coords.join('/'), function(done) {
|
tape('grid ' + coords.join('/'), function(assert) {
|
||||||
loaded.plain_2.getGrid(coords[0] | 0, coords[1] | 0, coords[2] | 0, function(err, grid, headers) {
|
loaded.plain_2.getGrid(coords[0] | 0, coords[1] | 0, coords[2] | 0, function(err, grid, headers) {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
assert.deepEqual(JSON.stringify(grid), fs.readFileSync(__dirname + '/fixtures/grids/' + file, 'utf8'));
|
assert.deepEqual(JSON.stringify(grid), fs.readFileSync(__dirname + '/fixtures/grids/' + file, 'utf8'));
|
||||||
assert.equal(headers['Content-Type'], 'text/javascript');
|
assert.equal(headers['Content-Type'], 'text/javascript');
|
||||||
assert.ok(!isNaN(Date.parse(headers['Last-Modified'])));
|
assert.ok(!isNaN(Date.parse(headers['Last-Modified'])));
|
||||||
assert.ok(/\d+-\d+/.test(headers['ETag']));
|
assert.ok(/\d+-\d+/.test(headers['ETag']));
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
it('grid alt ' + coords.join('/'), function(done) {
|
tape('grid alt ' + coords.join('/'), function(assert) {
|
||||||
loaded.plain_4.getGrid(coords[0] | 0, coords[1] | 0, coords[2] | 0, function(err, grid, headers) {
|
loaded.plain_4.getGrid(coords[0] | 0, coords[1] | 0, coords[2] | 0, function(err, grid, headers) {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
assert.deepEqual(JSON.stringify(grid), fs.readFileSync(__dirname + '/fixtures/grids/' + file, 'utf8'));
|
assert.deepEqual(JSON.stringify(grid), fs.readFileSync(__dirname + '/fixtures/grids/' + file, 'utf8'));
|
||||||
assert.equal(headers['Content-Type'], 'text/javascript');
|
assert.equal(headers['Content-Type'], 'text/javascript');
|
||||||
assert.ok(!isNaN(Date.parse(headers['Last-Modified'])));
|
assert.ok(!isNaN(Date.parse(headers['Last-Modified'])));
|
||||||
assert.ok(/\d+-\d+/.test(headers['ETag']));
|
assert.ok(/\d+-\d+/.test(headers['ETag']));
|
||||||
done();
|
assert.end();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -113,11 +110,11 @@ describe('read', function() {
|
|||||||
[18,2,262140],
|
[18,2,262140],
|
||||||
[4,0,15]
|
[4,0,15]
|
||||||
].forEach(function(coords) {
|
].forEach(function(coords) {
|
||||||
it('grid ' + coords.join('/'), function(done) {
|
tape('grid ' + coords.join('/'), function(assert) {
|
||||||
loaded.plain_2.getGrid(coords[0], coords[1], coords[2], yieldsError(assert, 'error', 'Grid does not exist', done));
|
loaded.plain_2.getGrid(coords[0], coords[1], coords[2], yieldsError(assert, 'error', 'Grid does not exist', assert.end));
|
||||||
});
|
});
|
||||||
it('grid alt ' + coords.join('/'), function(done) {
|
tape('grid alt ' + coords.join('/'), function(assert) {
|
||||||
loaded.plain_4.getGrid(coords[0], coords[1], coords[2], yieldsError(assert, 'error', 'Grid does not exist', done));
|
loaded.plain_4.getGrid(coords[0], coords[1], coords[2], yieldsError(assert, 'error', 'Grid does not exist', assert.end));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
[ [0,1,0],
|
[ [0,1,0],
|
||||||
@@ -135,11 +132,11 @@ describe('read', function() {
|
|||||||
[3,0,7],
|
[3,0,7],
|
||||||
[3,6,2]
|
[3,6,2]
|
||||||
].forEach(function(coords) {
|
].forEach(function(coords) {
|
||||||
it('dne ' + coords.join('/'), function(done) {
|
tape('dne ' + coords.join('/'), function(assert) {
|
||||||
loaded.non_existent.getTile(coords[0], coords[1], coords[2], yieldsError(assert, 'error', 'Tile does not exist', done));
|
loaded.non_existent.getTile(coords[0], coords[1], coords[2], yieldsError(assert, 'error', 'Tile does not exist', assert.end));
|
||||||
});
|
});
|
||||||
it('corrupt ' + coords.join('/'), function(done) {
|
tape('corrupt ' + coords.join('/'), function(assert) {
|
||||||
loaded.corrupt.getTile(coords[0], coords[1], coords[2], yieldsError(assert, 'error', 'SQLITE_CORRUPT: database disk image is malformed', done));
|
loaded.corrupt.getTile(coords[0], coords[1], coords[2], yieldsError(assert, 'error', 'SQLITE_CORRUPT: database disk image is malformed', assert.end));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|||||||
+6
-12
@@ -1,20 +1,15 @@
|
|||||||
require('sqlite3').verbose();
|
require('sqlite3').verbose();
|
||||||
|
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var assert = require('assert');
|
var tape = require('tape');
|
||||||
var MBTiles = require('..');
|
var MBTiles = require('..');
|
||||||
var fixtureDir = __dirname + '/fixtures/output';
|
var fixtureDir = __dirname + '/fixtures/output';
|
||||||
|
|
||||||
describe('write', function() {
|
// Recreate output directory to remove previous tests.
|
||||||
before(function(done) {
|
try { fs.unlinkSync(fixtureDir + '/write_1.mbtiles'); } catch(err) {}
|
||||||
// Recreate output directory to remove previous tests.
|
try { fs.mkdirSync(fixtureDir, 0755); } catch(err) {}
|
||||||
try { fs.unlinkSync(fixtureDir + '/write_1.mbtiles'); } catch(err) {}
|
|
||||||
try { fs.mkdirSync(fixtureDir, 0755); } catch(err) {}
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
it('test mbtiles file creation', function(done) {
|
|
||||||
this.timeout(20e3);
|
|
||||||
|
|
||||||
|
tape('test mbtiles file creation', function(assert) {
|
||||||
var completed = { written: 0, read: 0 };
|
var completed = { written: 0, read: 0 };
|
||||||
new MBTiles(fixtureDir + '/write_1.mbtiles', function(err, mbtiles) {
|
new MBTiles(fixtureDir + '/write_1.mbtiles', function(err, mbtiles) {
|
||||||
completed.open = true;
|
completed.open = true;
|
||||||
@@ -58,11 +53,10 @@ describe('write', function() {
|
|||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
assert.deepEqual(tile, fs.readFileSync(__dirname + '/fixtures/images/' + file));
|
assert.deepEqual(tile, fs.readFileSync(__dirname + '/fixtures/images/' + file));
|
||||||
completed.read++;
|
completed.read++;
|
||||||
if (completed.read === 285) done();
|
if (completed.read === 285) assert.end();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|||||||
@@ -1,19 +1,15 @@
|
|||||||
require('sqlite3').verbose();
|
require('sqlite3').verbose();
|
||||||
|
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var assert = require('assert');
|
var tape = require('tape');
|
||||||
var MBTiles = require('..');
|
var MBTiles = require('..');
|
||||||
var fixtureDir = __dirname + '/fixtures/output';
|
var fixtureDir = __dirname + '/fixtures/output';
|
||||||
|
|
||||||
describe('write grids', function() {
|
// Recreate output directory to remove previous tests.
|
||||||
before(function(done) {
|
try { fs.unlinkSync(fixtureDir + '/write_2.mbtiles'); } catch(err) {}
|
||||||
// Recreate output directory to remove previous tests.
|
try { fs.mkdirSync(fixtureDir, 0755); } catch(err) {}
|
||||||
try { fs.unlinkSync(fixtureDir + '/write_2.mbtiles'); } catch(err) {}
|
|
||||||
try { fs.mkdirSync(fixtureDir, 0755); } catch(err) {}
|
tape('test mbtiles file creation', function(assert) {
|
||||||
done();
|
|
||||||
});
|
|
||||||
it('test mbtiles file creation', function(done) {
|
|
||||||
this.timeout(20e3);
|
|
||||||
var completed = { written: 0, read: 0 };
|
var completed = { written: 0, read: 0 };
|
||||||
new MBTiles(fixtureDir + '/write_2.mbtiles', function(err, mbtiles) {
|
new MBTiles(fixtureDir + '/write_2.mbtiles', function(err, mbtiles) {
|
||||||
completed.open = true;
|
completed.open = true;
|
||||||
@@ -57,11 +53,10 @@ describe('write grids', function() {
|
|||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
assert.deepEqual(JSON.stringify(grid), fs.readFileSync(__dirname + '/fixtures/grids/' + file, 'utf8'));
|
assert.deepEqual(JSON.stringify(grid), fs.readFileSync(__dirname + '/fixtures/grids/' + file, 'utf8'));
|
||||||
completed.read++;
|
completed.read++;
|
||||||
if (completed.read === 241) done();
|
if (completed.read === 241) assert.end();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|||||||
Reference in New Issue
Block a user