33 lines
1.2 KiB
JavaScript
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();
|
|
}
|
|
});
|
|
});
|