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 remove
- Tinytest.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 scale
- Tinytest.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)
|