aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/directive
diff options
context:
space:
mode:
authorIgor Minar2012-11-23 22:43:30 +0100
committerIgor Minar2012-11-26 21:33:45 +0100
commitcde2f1a868ffacdc592803358130587fd73aca7b (patch)
tree82b18a000f03185f86e30ce6b8a87e5c33984677 /test/ng/directive
parent6a831495dedc81e995bba276084eb3b23643557a (diff)
downloadangular.js-cde2f1a868ffacdc592803358130587fd73aca7b.tar.bz2
fix(ngRepeat): support mostly-stable repeating for primitives
I'm reverting changes that were originally done to ngRepeat to fix #933, because these are now not necessary after the previous changes to keep ngModel always synced with the DOM.
Diffstat (limited to 'test/ng/directive')
-rw-r--r--test/ng/directive/ngRepeatSpec.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/ng/directive/ngRepeatSpec.js b/test/ng/directive/ngRepeatSpec.js
index 5442ff39..a45cd972 100644
--- a/test/ng/directive/ngRepeatSpec.js
+++ b/test/ng/directive/ngRepeatSpec.js
@@ -431,5 +431,23 @@ describe('ngRepeat', function() {
expect(newElements[1]).toEqual(lis[1]);
expect(newElements[2]).toEqual(lis[0]);
});
+
+
+ it('should reuse elements even when model is composed of primitives', function() {
+ // rebuilding repeater from scratch can be expensive, we should try to avoid it even for
+ // model that is composed of primitives.
+
+ scope.items = ['hello', 'cau', 'ahoj'];
+ scope.$digest();
+ lis = element.find('li');
+
+ scope.items = ['ahoj', 'hello', 'cau'];
+ scope.$digest();
+ var newLis = element.find('li');
+ expect(newLis.length).toEqual(3);
+ expect(newLis[0]).toEqual(lis[2]);
+ expect(newLis[1]).toEqual(lis[0]);
+ expect(newLis[2]).toEqual(lis[1]);
+ });
});
});