CoastalCommitsPastes/server/node_modules/sqlite3/test/map.test.js
2022-03-06 16:46:59 -08:00

63 lines
2.2 KiB
JavaScript

var sqlite3 = require('..');
var assert = require('assert');
describe('map', function() {
it('test Database#map() with two columns', function(done) {
var count = 10;
var inserted = 0;
var db = new sqlite3.Database(':memory:');
db.serialize(function() {
db.run("CREATE TABLE foo (id INT, value TEXT)");
var stmt = db.prepare("INSERT INTO foo VALUES(?, ?)");
for (var i = 5; i < count; i++) {
stmt.run(i, 'Value for ' + i, function(err) {
if (err) throw err;
inserted++;
});
}
stmt.finalize();
db.map("SELECT * FROM foo", function(err, map) {
if (err) throw err;
assert.deepEqual(map, { 5: 'Value for 5', 6: 'Value for 6', 7: 'Value for 7', 8: 'Value for 8', 9: 'Value for 9' });
assert.equal(inserted, 5);
done();
});
});
});
it('test Database#map() with three columns', function(done) {
var db = new sqlite3.Database(':memory:');
var count = 10;
var inserted = 0;
db.serialize(function() {
db.run("CREATE TABLE foo (id INT, value TEXT, other TEXT)");
var stmt = db.prepare("INSERT INTO foo VALUES(?, ?, ?)");
for (var i = 5; i < count; i++) {
stmt.run(i, 'Value for ' + i, null, function(err) {
if (err) throw err;
inserted++;
});
}
stmt.finalize();
db.map("SELECT * FROM foo", function(err, map) {
if (err) throw err;
assert.deepEqual(map, {
5: { id: 5, value: 'Value for 5', other: null },
6: { id: 6, value: 'Value for 6', other: null },
7: { id: 7, value: 'Value for 7', other: null },
8: { id: 8, value: 'Value for 8', other: null },
9: { id: 9, value: 'Value for 9', other: null }
});
assert.equal(inserted, 5);
done();
});
});
});
});