From ab36ea097bf0a240bb123e85f833895cf75d7e1b Mon Sep 17 00:00:00 2001 From: Kara Erickson Date: Wed, 24 Feb 2016 08:40:02 -0800 Subject: [PATCH] fix(differ): clean up stale identity change refs Closes #7193 --- .../differs/default_iterable_differ.ts | 3 +++ .../test/common/directives/ng_for_spec.ts | 27 ++++++++++++++++--- .../differs/default_iterable_differ_spec.ts | 26 +++++++++++++++++- 3 files changed, 51 insertions(+), 5 deletions(-) diff --git a/modules/angular2/src/core/change_detection/differs/default_iterable_differ.ts b/modules/angular2/src/core/change_detection/differs/default_iterable_differ.ts index ae0de4e0b8..878f5f08ab 100644 --- a/modules/angular2/src/core/change_detection/differs/default_iterable_differ.ts +++ b/modules/angular2/src/core/change_detection/differs/default_iterable_differ.ts @@ -325,6 +325,9 @@ export class DefaultIterableDiffer implements IterableDiffer { if (this._removalsTail !== null) { this._removalsTail._nextRemoved = null; } + if (this._identityChangesTail !== null) { + this._identityChangesTail._nextIdentityChange = null; + } } /** @internal */ diff --git a/modules/angular2/test/common/directives/ng_for_spec.ts b/modules/angular2/test/common/directives/ng_for_spec.ts index 32b7c2071f..482b5554c1 100644 --- a/modules/angular2/test/common/directives/ng_for_spec.ts +++ b/modules/angular2/test/common/directives/ng_for_spec.ts @@ -365,7 +365,7 @@ export function main() { it('should not replace tracked items', inject([TestComponentBuilder, AsyncTestCompleter], (tcb: TestComponentBuilder, async) => { var template = - `