Files
node-mbtiles/test/commit.test.js

33 lines
1.2 KiB
JavaScript

require('sqlite3').verbose();
var fs = require('fs');
var assert = require('assert');
var MBTiles = require('..');
var fixtureDir = __dirname + '/fixtures/output';
var image = fs.readFileSync(__dirname + '/fixtures/images/plain_1_0_0_0.png');
describe('write', function() {
before(function(done) {
// Recreate output directory to remove previous tests.
try { fs.unlinkSync(fixtureDir + '/commit_1.mbtiles'); } catch(err) {}
try { fs.mkdirSync(fixtureDir, 0755); } catch(err) {}
done();
});
it('test mbtiles commit lock', function(done) {
var remaining = 10;
new MBTiles('mbtiles://' + fixtureDir + '/commit_1.mbtiles?batch=1', function(err, mbtiles) {
assert.ifError(err);
mbtiles.startWriting(function(err) {
assert.ifError(err);
for (var i = 0; i < remaining; i++) mbtiles.putTile(0,0,0,image,putcb);
assert.equal(mbtiles._committing, true);
assert.equal(mbtiles._events.commit.length, 19);
});
});
function putcb(err) {
assert.ifError(err);
if (!--remaining) done();
}
});
});