@@ -108,7 +108,7 @@ main() {
108
108
109
109
110
110
it ('should gracefully handle ref changing to null and back' , () {
111
- scope.context['items' ] = ['odin' , 'dva' , ];
111
+ scope.context['items' ] = ['odin' , 'dva' ];
112
112
element = compile (
113
113
'<div>'
114
114
'<ul>'
@@ -133,6 +133,32 @@ main() {
133
133
expect (element.text).toEqual ('odin;dva;tri;' );
134
134
});
135
135
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
+
136
162
137
163
it ('should support formatters' , () {
138
164
element = compile (
0 commit comments