V8 Coverage Report
Files covered Lines
. / test/other_objects.test.js
91.11 %
82 / 90
    1.      1var sqlite3 = require('..');
    2.      1var assert = require('assert');
    3.      1
    4.      1describe('data types', function() {
    5.      1    var db;
    6.      1    before(function(done) {
    7.      1        db = new sqlite3.Database(':memory:');
    8.      1        db.run("CREATE TABLE txt_table (txt TEXT)");
    9.      1        db.run("CREATE TABLE int_table (int INTEGER)");
   10.      1        db.run("CREATE TABLE flt_table (flt FLOAT)");
   11.      1        db.wait(done);
   12.      1    });
   13.      1
   14.     22    beforeEach(function(done) {
   15.     22        db.exec('DELETE FROM txt_table; DELETE FROM int_table; DELETE FROM flt_table;', done);
   16.     22    });
   17.      1
   18.      1    it('should serialize Date()', function(done) {
   19.      1        var date = new Date();
   20.      1        db.run("INSERT INTO int_table VALUES(?)", date, function (err) {
   21.      0            if (err) throw err;
   22.      1            db.get("SELECT int FROM int_table", function(err, row) {
   23.      0                if (err) throw err;
   24.      1                assert.equal(row.int, +date);
   25.      1                done();
   26.      1            });
   27.      1        });
   28.      1    });
   29.      1
   30.      1    it('should serialize RegExp()', function(done) {
   31.      1        var regexp = /^f\noo/;
   32.      1        db.run("INSERT INTO txt_table VALUES(?)", regexp, function (err) {
   33.      0            if (err) throw err;
   34.      1            db.get("SELECT txt FROM txt_table", function(err, row) {
   35.      0                if (err) throw err;
   36.      1                assert.equal(row.txt, String(regexp));
   37.      1                done();
   38.      1            });
   39.      1        });
   40.      1    });
   41.      1
   42.      1    [
   43.      1        4294967296.249,
   44.      1        Math.PI,
   45.      1        3924729304762836.5,
   46.      1        new Date().valueOf(),
   47.      1        912667.394828365,
   48.      1        2.3948728634826374e+83,
   49.      1        9.293476892934982e+300,
   50.      1        Infinity,
   51.      1        -9.293476892934982e+300,
   52.      1        -2.3948728634826374e+83,
   53.      1        -Infinity
   54.     11    ].forEach(function(flt) {
   55.     11        it('should serialize float ' + flt, function(done) {
   56.     11            db.run("INSERT INTO flt_table VALUES(?)", flt, function (err) {
   57.      0                if (err) throw err;
   58.     11                db.get("SELECT flt FROM flt_table", function(err, row) {
   59.      0                    if (err) throw err;
   60.     11                    assert.equal(row.flt, flt);
   61.     11                    done();
   62.     11                });
   63.     11            });
   64.     11        });
   65.     11    });
   66.      1
   67.      1    [
   68.      1        4294967299,
   69.      1        3924729304762836,
   70.      1        new Date().valueOf(),
   71.      1        2.3948728634826374e+83,
   72.      1        9.293476892934982e+300,
   73.      1        Infinity,
   74.      1        -9.293476892934982e+300,
   75.      1        -2.3948728634826374e+83,
   76.      1        -Infinity
   77.      9    ].forEach(function(integer) {
   78.      9        it('should serialize integer ' + integer, function(done) {
   79.      9            db.run("INSERT INTO int_table VALUES(?)", integer, function (err) {
   80.      0                if (err) throw err;
   81.      9                db.get("SELECT int AS integer FROM int_table", function(err, row) {
   82.      0                    if (err) throw err;
   83.      9                    assert.equal(row.integer, integer);
   84.      9                    done();
   85.      9                });
   86.      9            });
   87.      9        });
   88.      9    });
   89.      1});
   90.      1