Skip to content

Commit

Permalink
test(repeat-integration-spec): add failing test for push sort bug
Browse files Browse the repository at this point in the history
Failing test for bug aurelia/binding#233
  • Loading branch information
jdanyow committed Dec 7, 2015
1 parent a0ba75a commit 75bcd35
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions test/repeat-integration.spec.js
Expand Up @@ -247,6 +247,59 @@ function describeArrayTests(viewsRequireLifecycle) {
nq(() => done());
});

it('handles push and sort', done => {
let template = `<template><div repeat.for="item of items">\${item}</div></template>`;
viewModel = { items: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] };
controller = createController(template, viewModel, true);
validateState();
nq(() => {
viewModel.items.push('x');
viewModel.items.sort((a, b) => {});
});
nq(() => validateState());
nq(() => done());
});

it('handles push and reverse', done => {
let template = `<template><div repeat.for="item of items">\${item}</div></template>`;
viewModel = { items: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] };
controller = createController(template, viewModel, true);
validateState();
nq(() => {
viewModel.items.push('x');
viewModel.items.reverse();
});
nq(() => validateState());
nq(() => done());
});

it('handles sort and sort', done => {
let template = `<template><div repeat.for="item of items">\${item}</div></template>`;
viewModel = { items: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] };
controller = createController(template, viewModel, true);
validateState();
nq(() => {
viewModel.items.sort((a, b) => a === b ? 0 : (a > b ? 1 : -1));
viewModel.items.sort((a, b) => a === b ? 0 : (a > b ? -1 : 1));
viewModel.items.sort((a, b) => a === b ? 0 : (a > b ? 1 : -1));
});
nq(() => validateState());
nq(() => done());
});

it('handles reverse and reverse', done => {
let template = `<template><div repeat.for="item of items">\${item}</div></template>`;
viewModel = { items: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] };
controller = createController(template, viewModel, true);
validateState();
nq(() => {
viewModel.items.reverse();
viewModel.items.reverse();
});
nq(() => validateState());
nq(() => done());
});

it('handles splice', done => {
viewModel.items.splice(2, 1, 'x', 'y');
nq(() => validateState());
Expand Down

0 comments on commit 75bcd35

Please sign in to comment.