test(query): adds a view query test in presence of a long ng-for.

Closes #3638

Closes #3649
This commit is contained in:
Rado Kirov 2015-08-14 11:42:24 -07:00 committed by Rado Kirov
parent 83b69e8edc
commit 2686316c90

View File

@ -427,6 +427,28 @@ export function main() {
expect(q.query.map((d: TextDirective) => d.text)).toEqual(["1", "-3", "2", "4"]);
async.done();
});
}));
it('should handle long ng-for cycles',
inject([TestComponentBuilder, AsyncTestCompleter], (tcb: TestComponentBuilder, async) => {
var template = '<needs-view-query-order #q></needs-view-query-order>';
tcb.overrideTemplate(MyComp, template)
.createAsync(MyComp)
.then((view) => {
var q: NeedsViewQueryOrder = view.componentViewChildren[0].getLocal('q');
// no significance to 50, just a reasonably large cycle.
for (var i = 0; i < 50; i++) {
var newString = i.toString();
q.list = [newString];
view.detectChanges();
expect(q.query.map((d: TextDirective) => d.text)).toEqual(['1', newString, '4']);
}
async.done();
});
}));