diff options
| author | Igor Minar | 2012-11-23 22:43:30 +0100 | 
|---|---|---|
| committer | Igor Minar | 2012-11-26 21:33:45 +0100 | 
| commit | cde2f1a868ffacdc592803358130587fd73aca7b (patch) | |
| tree | 82b18a000f03185f86e30ce6b8a87e5c33984677 /test | |
| parent | 6a831495dedc81e995bba276084eb3b23643557a (diff) | |
| download | angular.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')
| -rw-r--r-- | test/ng/directive/ngRepeatSpec.js | 18 | 
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]); +    });    });  });  | 
