Skip to content

Commit 701c4d9

Browse files
vicbDiana Salsbury
authored and
Diana Salsbury
committed
test[ng-repeat]: add test for ng-repeat subject not being an iterable
1 parent ecc53f9 commit 701c4d9

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

test/directive/ng_repeat_spec.dart

+27-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ main() {
108108

109109

110110
it('should gracefully handle ref changing to null and back', () {
111-
scope.context['items'] = ['odin', 'dva',];
111+
scope.context['items'] = ['odin', 'dva'];
112112
element = compile(
113113
'<div>'
114114
'<ul>'
@@ -133,6 +133,32 @@ main() {
133133
expect(element.text).toEqual('odin;dva;tri;');
134134
});
135135

136+
it('should gracefully handle ref changing to non-list and back', () {
137+
scope.context['items'] = ['odin', 'dva'];
138+
element = compile(
139+
'<div>'
140+
'<ul>'
141+
'<li ng-repeat="item in items">{{item}};</li>'
142+
'</ul>'
143+
'</div>');
144+
scope.apply();
145+
expect(element.querySelectorAll('ul').length).toEqual(1);
146+
expect(element.querySelectorAll('li').length).toEqual(2);
147+
expect(element.text).toEqual('odin;dva;');
148+
149+
scope.context['items'] = 'string';
150+
scope.apply();
151+
expect(element.querySelectorAll('ul').length).toEqual(1);
152+
expect(element.querySelectorAll('li').length).toEqual(0);
153+
expect(element.text).toEqual('');
154+
155+
scope.context['items'] = ['odin', 'dva', 'tri'];
156+
scope.apply();
157+
expect(element.querySelectorAll('ul').length).toEqual(1);
158+
expect(element.querySelectorAll('li').length).toEqual(3);
159+
expect(element.text).toEqual('odin;dva;tri;');
160+
});
161+
136162

137163
it('should support formatters', () {
138164
element = compile(

0 commit comments

Comments
 (0)