| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | "use strict";function equals(a, b) {  return !!(JSON.stringify(a) === JSON.stringify(b));}Tinytest.add('ReactiveList - definition', function(test) {  test.isTrue(typeof ReactiveList !== 'undefined', 'ReactiveList is undefined, make sure to add the reactive-list package');});// We do a small test of insert and removeTinytest.addAsync('ReactiveList - basic insert and remove - test 1', function test1 (test, onComplete) {  Meteor.setTimeout(function() {    var list = new ReactiveList({      reactive: true    });    var testLength = 500;    for (var i = 0; i < testLength; i++)      list.insert(i, 'value' + i);    test.equal(list._length, testLength, 'List length is not as expected');    var order = 0;    list.forEach(function(value, key) {      test.equal(key, order, 'order is not as expected');      test.equal(value, 'value'+order, 'order is not as expected');      order++;    });    test.equal(order, testLength, 'forEach length is not as expected');    list.forEachReverse(function(value, key) {      order--;      test.equal(key, order, 'order is not as expected');      test.equal(value, 'value'+order, 'order is not as expected');    });    test.equal(order, 0, 'forEachReverse length is not as expected');    // Remove all items    for (var i = 0; i < testLength; i++)      list.remove(i);    test.equal(list._length, 0, 'List length is not as expected');    test.isUndefined(list.first, 'First should now be undefined');    test.isUndefined(list.last, 'Last should now be undefined');    onComplete();  }, 1000);  });// We test insert and remove on larger scaleTinytest.addAsync('ReactiveList - basic insert and reset - test 2', function test2 (test, onComplete) {  Meteor.setTimeout(function() {    var list = new ReactiveList({      reactive: true    });    var testLength = 500;    for (var i = 0; i < testLength; i++)      list.insert(i, 'value' + i);    test.equal(list._length, testLength, 'List length is not as expected');    // Remove all items    list.reset();    test.equal(list._length, 0, 'List length is not as expected');    test.isUndefined(list.first, 'First should now be undefined');    test.isUndefined(list.last, 'Last should now be undefined');    onComplete();  }, 5000);});//Test API://test.isFalse(v, msg)//test.isTrue(v, msg)//test.equalactual, expected, message, not//test.length(obj, len)//test.include(s, v)//test.isNaN(v, msg)//test.isUndefined(v, msg)//test.isNotNull//test.isNull//test.throws(func)//test.instanceOf(obj, klass)//test.notEqual(actual, expected, message)//test.runId()//test.exception(exception)//test.expect_fail()//test.ok(doc)//test.fail(doc)//test.equal(a, b, msg)
 |