From 4612705ec297bc6ba714cb7a98f1be6aff77c4b8 Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Mon, 11 Nov 2013 15:54:24 -0800 Subject: fix(ngIf): don't create multiple elements when changing from a truthy to another thruthy value. Fixes #4852. --- test/ng/directive/ngIfSpec.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'test/ng/directive') diff --git a/test/ng/directive/ngIfSpec.js b/test/ng/directive/ngIfSpec.js index ce4de98c..3173f476 100755 --- a/test/ng/directive/ngIfSpec.js +++ b/test/ng/directive/ngIfSpec.js @@ -28,6 +28,22 @@ describe('ngIf', function () { expect(element.children().length).toBe(1); }); + it('should not add the element twice if the condition goes from true to true', function () { + $scope.hello = 'true1'; + makeIf('hello'); + expect(element.children().length).toBe(1); + $scope.$apply('hello = "true2"'); + expect(element.children().length).toBe(1); + }); + + it('should not recreate the element if the condition goes from true to true', function () { + $scope.hello = 'true1'; + makeIf('hello'); + element.children().data('flag', true); + $scope.$apply('hello = "true2"'); + expect(element.children().data('flag')).toBe(true); + }); + it('should create then remove the element if condition changes', function () { $scope.hello = true; makeIf('hello'); -- cgit v1.2.3