V8 Coverage Report
Files covered Lines
. / test/blob.test.js
90.90 %
50 / 55
    1.      1var sqlite3 = require('..'),
    2.      1    fs = require('fs'),
    3.      1    assert = require('assert'),
    4.      1    Buffer = require('buffer').Buffer;
    5.      1
    6.      1// lots of elmo
    7.      1var elmo = fs.readFileSync(__dirname + '/support/elmo.png');
    8.      1
    9.      1describe('blob', function() {
   10.      1    var db;
   11.      1    before(function(done) {
   12.      1        db = new sqlite3.Database(':memory:');
   13.      1        db.run("CREATE TABLE elmos (id INT, image BLOB)", done);
   14.      1    });
   15.      1
   16.      1    var total = 10;
   17.      1    var inserted = 0;
   18.      1    var retrieved = 0;
   19.      1
   20.      1
   21.      1    it('should insert blobs', function(done) {
   22.     10        for (var i = 0; i < total; i++) {
   23.     10            db.run('INSERT INTO elmos (id, image) VALUES (?, ?)', i, elmo, function(err) {
   24.      0                if (err) throw err;
   25.     10                inserted++;
   26.     10            });
   27.     10        }
   28.      1        db.wait(function() {
   29.      1            assert.equal(inserted, total);
   30.      1            done();
   31.      1        });
   32.      1    });
   33.      1
   34.      1    it('should retrieve the blobs', function(done) {
   35.      1        db.all('SELECT id, image FROM elmos ORDER BY id', function(err, rows) {
   36.      0            if (err) throw err;
   37.     10            for (var i = 0; i < rows.length; i++) {
   38.     10                assert.ok(Buffer.isBuffer(rows[i].image));
   39.     10                assert.ok(elmo.length, rows[i].image);
   40.     10
   41.1620740                for (var j = 0; j < elmo.length; j++) {
   42.      0                    if (elmo[j] !== rows[i].image[j]) {
   43.      0                        assert.ok(false, "Wrong byte");
   44.      0                    }
   45.1620740                }
   46.     10
   47.     10                retrieved++;
   48.     10            }
   49.      1
   50.      1            assert.equal(retrieved, total);
   51.      1            done();
   52.      1        });
   53.      1    });
   54.      1});
   55.      1