1. 1var sqlite3 = require('..');
2. 1var assert = require('assert');
3. 1var helper = require('./support/helper');
4. 1
5. 1describe('cache', function() {
6. 1 before(function() {
7. 1 helper.ensureExists('test/tmp');
8. 1 });
9. 1
10. 1 it('should cache Database objects while opening', function(done) {
11. 1 var filename = 'test/tmp/test_cache.db';
12. 1 helper.deleteFile(filename);
13. 1 var opened1 = false, opened2 = false;
14. 1 var db1 = new sqlite3.cached.Database(filename, function(err) {
15. 0 if (err) throw err;
16. 1 opened1 = true;
17. 0 if (opened1 && opened2) done();
18. 1 });
19. 1 var db2 = new sqlite3.cached.Database(filename, function(err) {
20. 0 if (err) throw err;
21. 1 opened2 = true;
22. 1 if (opened1 && opened2) done();
23. 1 });
24. 1 assert.equal(db1, db2);
25. 1 });
26. 1
27. 1 it('should cache Database objects after they are open', function(done) {
28. 1 var filename = 'test/tmp/test_cache2.db';
29. 1 helper.deleteFile(filename);
30. 1 var db1, db2;
31. 1 db1 = new sqlite3.cached.Database(filename, function(err) {
32. 0 if (err) throw err;
33. 1 process.nextTick(function() {
34. 1 db2 = new sqlite3.cached.Database(filename, function(err) {
35. 1 done();
36. 1
37. 1 });
38. 1 assert.equal(db1, db2);
39. 1 });
40. 1 });
41. 1 });
42. 1});
43. 1