Skip to content

Commit b038c2b

Browse files
author
Przemek Kaminski
committed
ngRepeat: fix (almost all) tests after end comment removal
1 parent 7cbb092 commit b038c2b

File tree

3 files changed

+34
-17
lines changed

3 files changed

+34
-17
lines changed

test/BinderSpec.js

+1-10
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ describe('Binder', function() {
9696
'<ul>' +
9797
'<!-- ngRepeat: item in model.items -->' +
9898
'<li ng-bind="item.a" ng-repeat="item in model.items">A</li>' +
99-
'<!-- end ngRepeat: item in model.items -->' +
10099
'<li ng-bind="item.a" ng-repeat="item in model.items">B</li>' +
101100
'<!-- end ngRepeat: item in model.items -->' +
102101
'</ul>');
@@ -107,9 +106,7 @@ describe('Binder', function() {
107106
'<ul>' +
108107
'<!-- ngRepeat: item in model.items -->' +
109108
'<li ng-bind="item.a" ng-repeat="item in model.items">C</li>' +
110-
'<!-- end ngRepeat: item in model.items -->' +
111109
'<li ng-bind="item.a" ng-repeat="item in model.items">A</li>' +
112-
'<!-- end ngRepeat: item in model.items -->' +
113110
'<li ng-bind="item.a" ng-repeat="item in model.items">B</li>' +
114111
'<!-- end ngRepeat: item in model.items -->' +
115112
'</ul>');
@@ -120,7 +117,6 @@ describe('Binder', function() {
120117
'<ul>' +
121118
'<!-- ngRepeat: item in model.items -->' +
122119
'<li ng-bind="item.a" ng-repeat="item in model.items">A</li>' +
123-
'<!-- end ngRepeat: item in model.items -->' +
124120
'<li ng-bind="item.a" ng-repeat="item in model.items">B</li>' +
125121
'<!-- end ngRepeat: item in model.items -->' +
126122
'</ul>');
@@ -231,15 +227,12 @@ describe('Binder', function() {
231227
'<div name="a" ng-repeat="m in model">'+
232228
'<!-- ngRepeat: i in m.item -->' +
233229
'<ul name="a1" ng-repeat="i in m.item"></ul>'+
234-
'<!-- end ngRepeat: i in m.item -->' +
235230
'<ul name="a2" ng-repeat="i in m.item"></ul>'+
236231
'<!-- end ngRepeat: i in m.item -->' +
237232
'</div>'+
238-
'<!-- end ngRepeat: m in model -->' +
239233
'<div name="b" ng-repeat="m in model">'+
240234
'<!-- ngRepeat: i in m.item -->' +
241235
'<ul name="b1" ng-repeat="i in m.item"></ul>'+
242-
'<!-- end ngRepeat: i in m.item -->' +
243236
'<ul name="b2" ng-repeat="i in m.item"></ul>'+
244237
'<!-- end ngRepeat: i in m.item -->' +
245238
'</div>' +
@@ -322,14 +315,13 @@ describe('Binder', function() {
322315
$rootScope.$apply();
323316

324317
var d1 = jqLite(element[0].childNodes[1]);
325-
var d2 = jqLite(element[0].childNodes[3]);
318+
var d2 = jqLite(element[0].childNodes[2]);
326319
expect(d1.hasClass('o')).toBeTruthy();
327320
expect(d2.hasClass('e')).toBeTruthy();
328321
expect(sortedHtml(element)).toBe(
329322
'<div>' +
330323
'<!-- ngRepeat: i in [0,1] -->' +
331324
'<div class="o" ng-class-even="\'e\'" ng-class-odd="\'o\'" ng-repeat="i in [0,1]"></div>' +
332-
'<!-- end ngRepeat: i in [0,1] -->' +
333325
'<div class="e" ng-class-even="\'e\'" ng-class-odd="\'o\'" ng-repeat="i in [0,1]"></div>' +
334326
'<!-- end ngRepeat: i in [0,1] -->' +
335327
'</div>');
@@ -437,7 +429,6 @@ describe('Binder', function() {
437429
'<ul>' +
438430
'<!-- ngRepeat: (k,v) in {a:0,b:1} -->' +
439431
'<li ng-bind=\"k + v\" ng-repeat="(k,v) in {a:0,b:1}">a0</li>' +
440-
'<!-- end ngRepeat: (k,v) in {a:0,b:1} -->' +
441432
'<li ng-bind=\"k + v\" ng-repeat="(k,v) in {a:0,b:1}">b1</li>' +
442433
'<!-- end ngRepeat: (k,v) in {a:0,b:1} -->' +
443434
'</ul>');

test/ng/directive/ngClassSpec.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ describe('ngClass', function() {
166166
element = $compile('<ul><li ng-repeat="i in [0,1]" class="existing" ng-class-odd="\'odd\'" ng-class-even="\'even\'"></li><ul>')($rootScope);
167167
$rootScope.$digest();
168168
var e1 = jqLite(element[0].childNodes[1]);
169-
var e2 = jqLite(element[0].childNodes[3]);
169+
var e2 = jqLite(element[0].childNodes[2]);
170170
expect(e1.hasClass('existing')).toBeTruthy();
171171
expect(e1.hasClass('odd')).toBeTruthy();
172172
expect(e2.hasClass('existing')).toBeTruthy();
@@ -181,7 +181,7 @@ describe('ngClass', function() {
181181
'<ul>')($rootScope);
182182
$rootScope.$apply();
183183
var e1 = jqLite(element[0].childNodes[1]);
184-
var e2 = jqLite(element[0].childNodes[3]);
184+
var e2 = jqLite(element[0].childNodes[2]);
185185

186186
expect(e1.hasClass('plainClass')).toBeTruthy();
187187
expect(e1.hasClass('odd')).toBeTruthy();
@@ -199,7 +199,7 @@ describe('ngClass', function() {
199199
'<ul>')($rootScope);
200200
$rootScope.$apply();
201201
var e1 = jqLite(element[0].childNodes[1]);
202-
var e2 = jqLite(element[0].childNodes[3]);
202+
var e2 = jqLite(element[0].childNodes[2]);
203203

204204
expect(e1.hasClass('A')).toBeTruthy();
205205
expect(e1.hasClass('B')).toBeTruthy();
@@ -273,7 +273,7 @@ describe('ngClass', function() {
273273
$rootScope.$digest();
274274

275275
var e1 = jqLite(element[0].childNodes[1]);
276-
var e2 = jqLite(element[0].childNodes[3]);
276+
var e2 = jqLite(element[0].childNodes[2]);
277277

278278
expect(e1.hasClass('odd')).toBeTruthy();
279279
expect(e1.hasClass('even')).toBeFalsy();

test/ng/directive/ngRepeatSpec.js

+29-3
Original file line numberDiff line numberDiff line change
@@ -750,14 +750,12 @@ describe('ngRepeat', function() {
750750
});
751751

752752

753-
it('should add separator comments after each item', inject(function ($compile, $rootScope) {
753+
it('should add separator comment after end of block', inject(function ($compile, $rootScope) {
754754
var check = function () {
755755
var children = element.find('div');
756756
expect(children.length).toBe(3);
757757

758758
// Note: COMMENT_NODE === 8
759-
expect(children[0].nextSibling.nodeType).toBe(8);
760-
expect(children[1].nextSibling.nodeType).toBe(8);
761759
expect(children[2].nextSibling.nodeType).toBe(8);
762760
expect(children[2].nextSibling.nodeValue).toBe(' end ngRepeat: val in values ');
763761
}
@@ -1030,6 +1028,34 @@ describe('ngRepeat', function() {
10301028
}));
10311029

10321030

1031+
it('should properly react to list change', inject(function ($compile, $rootScope) {
1032+
$rootScope.values = [1, 2, 3];
1033+
$rootScope.showMe = true;
1034+
1035+
element = $compile(
1036+
'<div>' +
1037+
'<div ng-repeat-start="val in values">val:{{val}};</div>' +
1038+
'<div ng-repeat-end>val-end:{{val}};</div>' +
1039+
'</div>'
1040+
)($rootScope);
1041+
1042+
$rootScope.$digest();
1043+
expect(element.find('div').length).toBe(6);
1044+
1045+
$rootScope.values.shift();
1046+
$rootScope.values.push(4);
1047+
1048+
$rootScope.$digest();
1049+
console.log(element.html());
1050+
console.log($rootScope.values);
1051+
expect(element.find('div').length).toBe(6);
1052+
expect(element.text()).not.toContain('val:1;');
1053+
expect(element.text()).not.toContain('val-end:1;');
1054+
expect(element.text()).toContain('val:4;');
1055+
expect(element.text()).toContain('val-end:4;');
1056+
}));
1057+
1058+
10331059
it('should not clobber ng-if when updating collection', inject(function ($compile, $rootScope) {
10341060
$rootScope.values = [1, 2, 3];
10351061
$rootScope.showMe = true;

0 commit comments

Comments
 (0)