1
var sqlite3 = require('sqlite3'),
2
Step = require('step'),
4
assert = require('assert')
5
Buffer = require('buffer').Buffer;
7
if (process.setMaxListeners) process.setMaxListeners(0);
10
var elmo = fs.readFileSync(__dirname + '/support/elmo.png');
12
exports['blob test'] = function(beforeExit) {
13
var db = new sqlite3.Database(':memory:');
18
db.serialize(function() {
19
db.run('CREATE TABLE elmos (id INT, image BLOB)');
21
for (var i = 0; i < total; i++) {
22
db.run('INSERT INTO elmos (id, image) VALUES (?, ?)', i, elmo, function(err) {
28
db.all('SELECT id, image FROM elmos ORDER BY id', function(err, rows) {
30
for (var i = 0; i < rows.length; i++) {
31
assert.ok(Buffer.isBuffer(rows[i].image));
32
assert.ok(elmo.length, rows[i].image);
34
for (var j = 0; j < elmo.length; j++) {
35
if (elmo[j] !== rows[i].image[j]) {
36
assert.ok(false, "Wrong byte");
46
beforeExit(function() {
47
assert.equal(inserted, total);
48
assert.equal(retrieved, total);