V8 Coverage Report
Files covered Lines
. / test/trace.test.js
80.88 %
55 / 68
    1.      1var sqlite3 = require('..');
    2.      1var assert = require('assert');
    3.      1
    4.      1describe('tracing', function() {
    5.      1    it('Database tracing', function(done) {
    6.      1        var db = new sqlite3.Database(':memory:');
    7.      1        var create = false;
    8.      1        var select = false;
    9.      1
   10.      2        db.on('trace', function(sql) {
   11.      1            if (sql.match(/^SELECT/)) {
   12.      1                assert.ok(!select);
   13.      1                assert.equal(sql, "SELECT * FROM foo");
   14.      1                select = true;
   15.      1            }
   16.      1            else if (sql.match(/^CREATE/)) {
   17.      1                assert.ok(!create);
   18.      1                assert.equal(sql, "CREATE TABLE foo (id int)");
   19.      1                create = true;
   20.      0            }
   21.      0            else {
   22.      0                assert.ok(false);
   23.      0            }
   24.      2        });
   25.      1
   26.      1        db.serialize(function() {
   27.      1            db.run("CREATE TABLE foo (id int)");
   28.      1            db.run("SELECT * FROM foo");
   29.      1        });
   30.      1
   31.      1        db.close(function(err) {
   32.      0            if (err) throw err;
   33.      1            assert.ok(create);
   34.      1            assert.ok(select);
   35.      1            done();
   36.      1        });
   37.      1    });
   38.      1
   39.      1
   40.      1    it('test disabling tracing #1', function(done) {
   41.      1        var db = new sqlite3.Database(':memory:');
   42.      1
   43.      0        db.on('trace', function(sql) {});
   44.      1        db.removeAllListeners('trace');
   45.      0        db._events['trace'] = function(sql) {
   46.      0            assert.ok(false);
   47.      0        };
   48.      1
   49.      1        db.run("CREATE TABLE foo (id int)");
   50.      1        db.close(done);
   51.      1    });
   52.      1
   53.      1
   54.      1    it('test disabling tracing #2', function(done) {
   55.      1        var db = new sqlite3.Database(':memory:');
   56.      1
   57.      0        var trace = function(sql) {};
   58.      1        db.on('trace', trace);
   59.      1        db.removeListener('trace', trace);
   60.      0        db._events['trace'] = function(sql) {
   61.      0            assert.ok(false);
   62.      0        };
   63.      1
   64.      1        db.run("CREATE TABLE foo (id int)");
   65.      1        db.close(done);
   66.      1    });
   67.      1});
   68.      1