test('Array accessor methods', 11, function () { var l = new DefineList([ 'a', 'b', 'c' ]), sliced = l.slice(2), joined = l.join(' | '), concatenated = l.concat([ 2, 1 ], new DefineList([0])); ok(sliced instanceof DefineList, 'Slice is an Observable list'); equal(sliced.length, 1, 'Sliced off two elements'); equal(sliced[0], 'c', 'Single element as expected'); equal(joined, 'a | b | c', 'Joined list properly'); ok(concatenated instanceof DefineList, 'Concatenated is an Observable list'); deepEqual(concatenated.serialize(), [ 'a', 'b', 'c', 2, 1, 0 ], 'DefineList concatenated properly'); l.forEach(function (letter, index) { ok(true, 'Iteration'); if (index === 0) { equal(letter, 'a', 'First letter right'); } if (index === 2) { equal(letter, 'c', 'Last letter right'); } }); });
test('Concatenated list items Equal original', function() { var l = new DefineList([ { firstProp: "Some data" }, { secondProp: "Next data" } ]), concatenated = l.concat([ { hello: "World" }, { foo: "Bar" } ]); ok(l[0] === concatenated[0], "They are Equal"); ok(l[1] === concatenated[1], "They are Equal"); });