V8 Coverage Report
Files covered Lines
. / test/verbose.test.js
100.00 %
61 / 61
    1.      1var sqlite3 = require('..');
    2.      1var assert = require('assert');
    3.      1
    4.      1var invalid_sql = 'update non_existent_table set id=1';
    5.      1
    6.      1var originalMethods = {
    7.      1    Database: {},
    8.      1    Statement: {},
    9.      1};
   10.      1
   11.      1function backupOriginalMethods() {
   12.      2    for (var obj in originalMethods) {
   13.     44        for (var attr in sqlite3[obj].prototype) {
   14.     44            originalMethods[obj][attr] = sqlite3[obj].prototype[attr];
   15.     44        }
   16.      2    }
   17.      1}
   18.      1
   19.      1function resetVerbose() {
   20.      2    for (var obj in originalMethods) {
   21.     44        for (var attr in originalMethods[obj]) {
   22.     44            sqlite3[obj].prototype[attr] = originalMethods[obj][attr];
   23.     44        }
   24.      2    }
   25.      1}
   26.      1
   27.      1describe('verbose', function() {
   28.      1    it('Shoud add trace info to error when verbose is called', function(done) {
   29.      1        var db = new sqlite3.Database(':memory:');
   30.      1        backupOriginalMethods();
   31.      1        sqlite3.verbose();
   32.      1
   33.      1        db.run(invalid_sql, function(err) {
   34.      1            assert(err instanceof Error);
   35.      1
   36.      1            assert(
   37.      1                err.stack.indexOf(`Database#run('${invalid_sql}'`) > -1,
   38.      1                `Stack shoud contain trace info, stack = ${err.stack}`
   39.      1            );
   40.      1
   41.      1            done();
   42.      1            resetVerbose();
   43.      1        });
   44.      1    });
   45.      1
   46.      1    it('Shoud not add trace info to error when verbose is not called', function(done) {
   47.      1        var db = new sqlite3.Database(':memory:');
   48.      1
   49.      1        db.run(invalid_sql, function(err) {
   50.      1            assert(err instanceof Error);
   51.      1
   52.      1            assert(
   53.      1                err.stack.indexOf(invalid_sql) === -1,
   54.      1                `Stack shoud not contain trace info, stack = ${err.stack}`
   55.      1            );
   56.      1
   57.      1            done();
   58.      1        });
   59.      1    });
   60.      1});
   61.      1