Code coverage report for spec/generic/remove.spec.js

Statements: 100% (25 / 25)      Branches: 50% (1 / 2)      Functions: 100% (4 / 4)      Lines: 100% (24 / 24)      Ignored: none     

All files » spec/generic/ » remove.spec.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 551   1 1 1 1   1       1       1       1       1       1         1 1 6     1 6   1 1         1 1 1 1 1 1      
Eif (typeof(window) === 'undefined') var loki = require('../../src/lokijs.js');
 
describe('remove', function () {
  it('removes', function () {
    var db = new loki();
    var users = db.addCollection('users');
 
    users.insert({
      name: 'joe',
      age: 39
    });
    users.insert({
      name: 'jack',
      age: 20
    });
    users.insert({
      name: 'jim',
      age: 40
    });
    users.insert({
      name: 'dave',
      age: 33
    });
    users.insert({
      name: 'jim',
      age: 29
    });
    users.insert({
      name: 'dave',
      age: 21
    });
 
    var dv = users.addDynamicView('testview');
    dv.applyWhere(function (obj) {
      return obj.name.length > 3;
    });
 
    users.removeWhere(function (obj) {
      return obj.age > 35;
    });
    expect(users.data.length).toEqual(4);
    users.removeWhere({
      'age': {
        $gt: 25
      }
    });
    expect(users.data.length).toEqual(2);
    users.remove(6);
    expect(users.data.length).toEqual(1);
    users.removeDataOnly();
    expect(users.data.length).toEqual(0);
    expect(!!users.getDynamicView('testview')).toEqual(true);
  });
});