42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
var sqlite3 = require('..');
|
|
var assert = require('assert');
|
|
var helper = require('./support/helper');
|
|
|
|
describe('cache', function() {
|
|
before(function() {
|
|
helper.ensureExists('test/tmp');
|
|
});
|
|
|
|
it('should cache Database objects while opening', function(done) {
|
|
var filename = 'test/tmp/test_cache.db';
|
|
helper.deleteFile(filename);
|
|
var opened1 = false, opened2 = false;
|
|
var db1 = new sqlite3.cached.Database(filename, function(err) {
|
|
if (err) throw err;
|
|
opened1 = true;
|
|
if (opened1 && opened2) done();
|
|
});
|
|
var db2 = new sqlite3.cached.Database(filename, function(err) {
|
|
if (err) throw err;
|
|
opened2 = true;
|
|
if (opened1 && opened2) done();
|
|
});
|
|
assert.equal(db1, db2);
|
|
});
|
|
|
|
it('should cache Database objects after they are open', function(done) {
|
|
var filename = 'test/tmp/test_cache2.db';
|
|
helper.deleteFile(filename);
|
|
var db1, db2;
|
|
db1 = new sqlite3.cached.Database(filename, function(err) {
|
|
if (err) throw err;
|
|
process.nextTick(function() {
|
|
db2 = new sqlite3.cached.Database(filename, function(err) {
|
|
done();
|
|
|
|
});
|
|
assert.equal(db1, db2);
|
|
});
|
|
});
|
|
});
|
|
});
|