From 2686316c904c1452346ed7effa273b6f79deb508 Mon Sep 17 00:00:00 2001 From: Rado Kirov Date: Fri, 14 Aug 2015 11:42:24 -0700 Subject: [PATCH] test(query): adds a view query test in presence of a long ng-for. Closes #3638 Closes #3649 --- .../core/compiler/query_integration_spec.ts | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/modules/angular2/test/core/compiler/query_integration_spec.ts b/modules/angular2/test/core/compiler/query_integration_spec.ts index dbc70a69f3..f6d174b491 100644 --- a/modules/angular2/test/core/compiler/query_integration_spec.ts +++ b/modules/angular2/test/core/compiler/query_integration_spec.ts @@ -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 = ''; + + 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(); }); }));