@angular-wave/angular.ts 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/angular-ts.umd.js +10 -0
  2. package/index.html +74 -3
  3. package/package.json +1 -1
  4. package/src/angular.spec.js +0 -5
  5. package/src/animations/animate-css.js +5 -13
  6. package/src/animations/animate-queue.js +22 -21
  7. package/src/animations/animate-runner.js +4 -8
  8. package/src/animations/animate.md +1 -1
  9. package/src/animations/animate.spec.js +0 -21
  10. package/src/animations/animation.js +1 -1
  11. package/src/binding.spec.js +0 -1
  12. package/src/core/cache/cache.js +2 -29
  13. package/src/core/compile/compile.js +26 -27
  14. package/src/core/compile/compile.spec.js +17 -266
  15. package/src/core/compile/compile.test.js +1 -1
  16. package/src/core/controller/controller.js +2 -0
  17. package/src/core/di/injector.md +1 -1
  18. package/src/core/di/injector.spec.js +0 -2
  19. package/src/core/di/internal-injector.js +2 -1
  20. package/src/core/interpolate/interpolate.js +16 -3
  21. package/src/core/interpolate/interpolate.spec.js +70 -16
  22. package/src/core/interval/interval.test.js +1 -1
  23. package/src/core/location/location.js +0 -2
  24. package/src/core/location/location.spec.js +27 -27
  25. package/src/core/{scope/scope.html → model/model.html} +1 -1
  26. package/src/core/model/model.js +944 -0
  27. package/src/core/model/model.spec.js +3012 -0
  28. package/src/core/on.spec.js +0 -7
  29. package/src/core/parse/interpreter.js +10 -7
  30. package/src/core/parse/parse.js +26 -5
  31. package/src/core/parse/parse.spec.js +95 -91
  32. package/src/core/prop.spec.js +4 -60
  33. package/src/core/sce/sce.spec.js +0 -8
  34. package/src/core/scope/scope.js +61 -30
  35. package/src/core/scope/scope.spec.js +25 -1960
  36. package/src/directive/aria/aria.js +3 -6
  37. package/src/directive/aria/aria.spec.js +0 -87
  38. package/src/directive/attrs/attrs.spec.js +0 -5
  39. package/src/directive/attrs/boolean.spec.js +0 -15
  40. package/src/directive/attrs/element-style.spec.js +0 -8
  41. package/src/directive/attrs/src.spec.js +0 -7
  42. package/src/directive/bind/bind.spec.js +0 -33
  43. package/src/directive/bind/bing-html.spec.js +0 -3
  44. package/src/{core/q/q.html → directive/channel/channel.html} +1 -1
  45. package/src/directive/channel/channel.js +29 -0
  46. package/src/directive/channel/channel.spec.js +52 -0
  47. package/src/directive/{list/list.test.js → channel/channel.test.js} +2 -4
  48. package/src/directive/class/class.js +3 -3
  49. package/src/directive/class/class.spec.js +9 -75
  50. package/src/directive/controller/controller.spec.js +0 -13
  51. package/src/directive/events/click.spec.js +0 -3
  52. package/src/directive/events/event.spec.js +0 -6
  53. package/src/directive/form/form.js +2 -3
  54. package/src/directive/form/form.spec.js +0 -65
  55. package/src/directive/if/if.spec.js +0 -4
  56. package/src/directive/include/include.spec.js +8 -59
  57. package/src/directive/init/init.js +6 -2
  58. package/src/directive/init/init.spec.js +0 -2
  59. package/src/directive/input/input.spec.js +0 -136
  60. package/src/directive/messages/messages.spec.js +4 -35
  61. package/src/directive/model/model.js +18 -25
  62. package/src/directive/model/model.spec.js +2 -49
  63. package/src/directive/model-options/model-options.spec.js +0 -6
  64. package/src/directive/non-bindable/non-bindable.spec.js +0 -1
  65. package/src/directive/observe/observe.js +0 -1
  66. package/src/directive/observe/observe.spec.js +0 -1
  67. package/src/directive/options/options.spec.js +0 -34
  68. package/src/directive/ref/href.spec.js +0 -15
  69. package/src/directive/repeat/repeat.spec.js +8 -135
  70. package/src/directive/script/script.spec.js +0 -2
  71. package/src/directive/select/select.js +3 -3
  72. package/src/directive/select/select.spec.js +0 -96
  73. package/src/directive/show-hide/show-hide.js +2 -2
  74. package/src/directive/show-hide/show-hide.spec.js +8 -19
  75. package/src/directive/style/style.spec.js +0 -7
  76. package/src/directive/switch/switch.spec.js +5 -5
  77. package/src/directive/validators/validators.spec.js +0 -1
  78. package/src/loader.js +0 -1
  79. package/src/public.js +75 -80
  80. package/src/router/common/coreservices.js +0 -2
  81. package/src/router/directives/state-directives.js +6 -14
  82. package/src/router/directives/state-directives.spec.js +0 -83
  83. package/src/router/directives/view-directive.js +4 -13
  84. package/src/router/directives/view-directive.spec.js +25 -71
  85. package/src/router/hooks/lazy-load.js +2 -2
  86. package/src/router/hooks/views.js +3 -5
  87. package/src/router/resolve/resolvable.js +3 -6
  88. package/src/router/resolve/resolve-context.js +2 -2
  89. package/src/router/state/state-service.js +4 -4
  90. package/src/router/state/state.spec.js +2 -5
  91. package/src/router/state/views.js +7 -10
  92. package/src/router/template-factory.js +3 -6
  93. package/src/router/template-factory.spec.js +0 -4
  94. package/src/router/transition/transition-hook.js +1 -1
  95. package/src/router/transition/transition.js +1 -1
  96. package/src/router/view-hook.spec.js +2 -2
  97. package/src/router/view-scroll.js +4 -6
  98. package/src/services/http/http.js +6 -9
  99. package/src/services/http/http.spec.js +30 -31
  100. package/src/services/http/template-request.spec.js +0 -10
  101. package/src/services/http-backend/http-backend.spec.js +3 -3
  102. package/src/services/template-request.js +2 -4
  103. package/src/shared/common.js +1 -2
  104. package/src/shared/jqlite/jqlite.js +0 -3
  105. package/types/core/cache/cache.d.ts +1 -1
  106. package/types/core/model/model.d.ts +204 -0
  107. package/types/core/parse/parse.d.ts +26 -0
  108. package/types/core/scope/scope.d.ts +22 -21
  109. package/types/directive/channel/channel.d.ts +11 -0
  110. package/src/core/interval/interval-factory.js +0 -50
  111. package/src/core/interval/interval.html +0 -18
  112. package/src/core/interval/interval.js +0 -77
  113. package/src/core/interval/interval.md +0 -123
  114. package/src/core/interval/interval.spec.js +0 -280
  115. package/src/core/q/q.js +0 -472
  116. package/src/core/q/q.md +0 -211
  117. package/src/core/q/q.spec.js +0 -2748
  118. package/src/core/q/q.test.js +0 -12
  119. package/src/core/scope/scope.test.js +0 -12
  120. package/src/core/timeout/timeout.html +0 -18
  121. package/src/core/timeout/timeout.js +0 -109
  122. package/src/core/timeout/timeout.spec.js +0 -354
  123. package/src/core/timeout/timout.test.js +0 -12
  124. package/src/directive/list/list.html +0 -18
  125. package/src/directive/list/list.js +0 -46
  126. package/src/directive/list/list.md +0 -22
  127. package/src/directive/list/list.spec.js +0 -172
  128. package/types/directive/list/list.d.ts +0 -4
@@ -27,18 +27,15 @@ describe("ngClass", () => {
27
27
  $rootScope,
28
28
  );
29
29
  $rootScope.dynClass = "A";
30
- $rootScope.$digest();
31
30
  expect(element[0].classList.contains("existing")).toBe(true);
32
31
  expect(element[0].classList.contains("A")).toBe(true);
33
32
 
34
33
  $rootScope.dynClass = "B";
35
- $rootScope.$digest();
36
34
  expect(element[0].classList.contains("existing")).toBe(true);
37
35
  expect(element[0].classList.contains("A")).toBe(false);
38
36
  expect(element[0].classList.contains("B")).toBe(true);
39
37
 
40
38
  delete $rootScope.dynClass;
41
- $rootScope.$digest();
42
39
  expect(element[0].classList.contains("existing")).toBe(true);
43
40
  expect(element[0].classList.contains("A")).toBe(false);
44
41
  expect(element[0].classList.contains("B")).toBe(false);
@@ -53,21 +50,18 @@ describe("ngClass", () => {
53
50
  hasOwnProperty: true,
54
51
  isPrototypeOf: true,
55
52
  };
56
- $rootScope.$digest();
57
53
  expect(element[0].classList.contains("existing")).toBe(true);
58
54
  expect(element[0].classList.contains("watch")).toBe(true);
59
55
  expect(element[0].classList.contains("hasOwnProperty")).toBe(true);
60
56
  expect(element[0].classList.contains("isPrototypeOf")).toBe(true);
61
57
 
62
58
  $rootScope.dynClass.watch = false;
63
- $rootScope.$digest();
64
59
  expect(element[0].classList.contains("existing")).toBe(true);
65
60
  expect(element[0].classList.contains("watch")).toBe(false);
66
61
  expect(element[0].classList.contains("hasOwnProperty")).toBe(true);
67
62
  expect(element[0].classList.contains("isPrototypeOf")).toBe(true);
68
63
 
69
64
  delete $rootScope.dynClass;
70
- $rootScope.$digest();
71
65
  expect(element[0].classList.contains("existing")).toBe(true);
72
66
  expect(element[0].classList.contains("watch")).toBe(false);
73
67
  expect(element[0].classList.contains("hasOwnProperty")).toBe(false);
@@ -78,7 +72,6 @@ describe("ngClass", () => {
78
72
  element = $compile(
79
73
  "<div class=\"existing\" ng-class=\"['A', 'B']\"></div>",
80
74
  )($rootScope);
81
- $rootScope.$digest();
82
75
  expect(element[0].classList.contains("existing")).toBeTruthy();
83
76
  expect(element[0].classList.contains("A")).toBeTruthy();
84
77
  expect(element[0].classList.contains("B")).toBeTruthy();
@@ -94,7 +87,6 @@ describe("ngClass", () => {
94
87
  "</div>",
95
88
  )($rootScope);
96
89
  $rootScope.conditionA = true;
97
- $rootScope.$digest();
98
90
  expect(element[0].classList.contains("existing")).toBeTruthy();
99
91
  expect(element[0].classList.contains("A")).toBeTruthy();
100
92
  expect(element[0].classList.contains("B")).toBeFalsy();
@@ -103,7 +95,6 @@ describe("ngClass", () => {
103
95
  $rootScope.conditionB = function () {
104
96
  return true;
105
97
  };
106
- $rootScope.$digest();
107
98
  expect(element[0].classList.contains("existing")).toBeTruthy();
108
99
  expect(element[0].classList.contains("A")).toBeTruthy();
109
100
  expect(element[0].classList.contains("B")).toBeTruthy();
@@ -113,7 +104,6 @@ describe("ngClass", () => {
113
104
 
114
105
  it("should not break when passed non-string/array/object, truthy values", () => {
115
106
  element = $compile('<div ng-class="42"></div>')($rootScope);
116
- $rootScope.$digest();
117
107
  expect(element[0].classList.contains("42")).toBeTruthy();
118
108
  });
119
109
 
@@ -121,23 +111,19 @@ describe("ngClass", () => {
121
111
  element = $compile(
122
112
  "<div class=\"existing\" ng-class=\"['A', {'B': condition}]\"></div>",
123
113
  )($rootScope);
124
- $rootScope.$digest();
125
114
  expect(element[0].classList.contains("existing")).toBeTruthy();
126
115
  expect(element[0].classList.contains("A")).toBeTruthy();
127
116
  expect(element[0].classList.contains("B")).toBeFalsy();
128
117
  $rootScope.condition = true;
129
- $rootScope.$digest();
130
118
  expect(element[0].classList.contains("B")).toBeTruthy();
131
119
  });
132
120
 
133
121
  it("should remove classes when the referenced object is the same but its property is changed", () => {
134
122
  element = $compile('<div ng-class="classes"></div>')($rootScope);
135
123
  $rootScope.classes = { A: true, B: true };
136
- $rootScope.$digest();
137
124
  expect(element[0].classList.contains("A")).toBeTruthy();
138
125
  expect(element[0].classList.contains("B")).toBeTruthy();
139
126
  $rootScope.classes.A = false;
140
- $rootScope.$digest();
141
127
  expect(element[0].classList.contains("A")).toBeFalsy();
142
128
  expect(element[0].classList.contains("B")).toBeTruthy();
143
129
  });
@@ -146,7 +132,6 @@ describe("ngClass", () => {
146
132
  element = $compile('<div class="existing" ng-class="\'A B\'"></div>')(
147
133
  $rootScope,
148
134
  );
149
- $rootScope.$digest();
150
135
  expect(element[0].classList.contains("existing")).toBeTruthy();
151
136
  expect(element[0].classList.contains("A")).toBeTruthy();
152
137
  expect(element[0].classList.contains("B")).toBeTruthy();
@@ -156,7 +141,6 @@ describe("ngClass", () => {
156
141
  element = $compile(
157
142
  "<div class=\"existing\" ng-class=\"['A B', 'C']\"></div>",
158
143
  )($rootScope);
159
- $rootScope.$digest();
160
144
  expect(element[0].classList.contains("existing")).toBeTruthy();
161
145
  expect(element[0].classList.contains("A")).toBeTruthy();
162
146
  expect(element[0].classList.contains("B")).toBeTruthy();
@@ -168,14 +152,11 @@ describe("ngClass", () => {
168
152
  $rootScope,
169
153
  );
170
154
  $rootScope.dynClass = "A";
171
- $rootScope.$digest();
172
155
  expect(element[0].classList.contains("existing")).toBe(true);
173
156
 
174
157
  // add extra class, change model and eval
175
158
  element[0].classList.add("newClass");
176
159
  $rootScope.dynClass = "B";
177
- $rootScope.$digest();
178
-
179
160
  expect(element[0].classList.contains("existing")).toBe(true);
180
161
  expect(element[0].classList.contains("B")).toBe(true);
181
162
  expect(element[0].classList.contains("newClass")).toBe(true);
@@ -184,14 +165,11 @@ describe("ngClass", () => {
184
165
  it('should preserve class added post compilation without pre-existing classes"', () => {
185
166
  element = $compile('<div ng-class="dynClass"></div>')($rootScope);
186
167
  $rootScope.dynClass = "A";
187
- $rootScope.$digest();
188
168
  expect(element[0].classList.contains("A")).toBe(true);
189
169
 
190
170
  // add extra class, change model and eval
191
171
  element[0].classList.add("newClass");
192
172
  $rootScope.dynClass = "B";
193
- $rootScope.$digest();
194
-
195
173
  expect(element[0].classList.contains("B")).toBe(true);
196
174
  expect(element[0].classList.contains("newClass")).toBe(true);
197
175
  });
@@ -201,9 +179,7 @@ describe("ngClass", () => {
201
179
  '<div class="ui-panel ui-selected" ng-class="dynCls"></div>',
202
180
  )($rootScope);
203
181
  $rootScope.dynCls = "panel";
204
- $rootScope.$digest();
205
182
  $rootScope.dynCls = "foo";
206
- $rootScope.$digest();
207
183
  expect(element[0].className).toBe("ui-panel ui-selected foo");
208
184
  });
209
185
 
@@ -212,7 +188,6 @@ describe("ngClass", () => {
212
188
  $rootScope,
213
189
  );
214
190
  $rootScope.dynCls = "panel";
215
- $rootScope.$digest();
216
191
  expect(element[0].className).toBe("panel bar");
217
192
  });
218
193
 
@@ -221,32 +196,26 @@ describe("ngClass", () => {
221
196
  $rootScope,
222
197
  );
223
198
  $rootScope.dynCls = "panel";
224
- $rootScope.$digest();
225
199
  $rootScope.dynCls = "window";
226
- $rootScope.$digest();
227
200
  expect(element[0].className).toBe("bar window");
228
201
  });
229
202
 
230
203
  it("should remove classes even if they were added by another code", () => {
231
204
  element = $compile('<div ng-class="dynCls"></div>')($rootScope);
232
205
  $rootScope.dynCls = "foo";
233
- $rootScope.$digest();
234
206
  element[0].classList.add("foo");
235
207
  $rootScope.dynCls = "";
236
- $rootScope.$digest();
237
208
  });
238
209
 
239
210
  it("should convert undefined and null values to an empty string", () => {
240
211
  element = $compile('<div ng-class="dynCls"></div>')($rootScope);
241
212
  $rootScope.dynCls = [undefined, null];
242
- $rootScope.$digest();
243
213
  });
244
214
 
245
215
  it("should ngClass odd/even", () => {
246
216
  element = $compile(
247
217
  '<ul><li ng-repeat="i in [0,1]" class="existing" ng-class-odd="\'odd\'" ng-class-even="\'even\'"></li><ul>',
248
218
  )($rootScope);
249
- $rootScope.$digest();
250
219
  const e1 = JQLite(element[0].childNodes[1]);
251
220
  const e2 = JQLite(element[0].childNodes[3]);
252
221
  expect(e1[0].classList.contains("existing")).toBeTruthy();
@@ -283,8 +252,6 @@ describe("ngClass", () => {
283
252
  "</li>" +
284
253
  "<ul>",
285
254
  )($rootScope);
286
- $rootScope.$digest();
287
-
288
255
  const e1 = element.children().eq(0)[0];
289
256
  const e2 = element.children().eq(1)[0];
290
257
  const e3 = element.children().eq(2)[0];
@@ -304,8 +271,6 @@ describe("ngClass", () => {
304
271
  element = $compile(
305
272
  "<div ng-class=\"{'same yes': test, 'same no': !test}\"></div>",
306
273
  )($rootScope)[0];
307
- $rootScope.$digest();
308
-
309
274
  expect(element).toHaveClass("same");
310
275
  expect(element).not.toHaveClass("yes");
311
276
  expect(element).toHaveClass("no");
@@ -422,7 +387,6 @@ describe("ngClass", () => {
422
387
  $rootScope.foo = false;
423
388
  });
424
389
  element = $compile('<div ng-class="{foo:foo}"></div>')($rootScope);
425
- $rootScope.$digest();
426
390
  expect(element[0].classList.contains("foo")).toBe(false);
427
391
  });
428
392
 
@@ -434,11 +398,7 @@ describe("ngClass", () => {
434
398
  "<ul>",
435
399
  )($rootScope);
436
400
  $rootScope.items = ["b", "c", "d"];
437
- $rootScope.$digest();
438
-
439
401
  $rootScope.items.unshift("a");
440
- $rootScope.$digest();
441
-
442
402
  const e1 = JQLite(element[0].childNodes[1]);
443
403
  const e4 = JQLite(element[0].childNodes[3]);
444
404
 
@@ -457,11 +417,7 @@ describe("ngClass", () => {
457
417
  "<ul>",
458
418
  )($rootScope);
459
419
  $rootScope.items = ["a", "b", "a"];
460
- $rootScope.$digest();
461
-
462
420
  $rootScope.items = ["a", "a"];
463
- $rootScope.$digest();
464
-
465
421
  const e1 = JQLite(element[0].childNodes[1]);
466
422
  const e2 = JQLite(element[0].childNodes[3]);
467
423
 
@@ -480,11 +436,7 @@ describe("ngClass", () => {
480
436
  "<ul>",
481
437
  )($rootScope);
482
438
  $rootScope.items = ["a", "b"];
483
- $rootScope.$digest();
484
-
485
439
  $rootScope.items = ["b", "a"];
486
- $rootScope.$digest();
487
-
488
440
  const e1 = JQLite(element[0].childNodes[1]);
489
441
  const e2 = JQLite(element[0].childNodes[3]);
490
442
 
@@ -538,12 +490,9 @@ describe("ngClass", () => {
538
490
  element = $compile('<div ng-class="classVar"></div>')($rootScope);
539
491
 
540
492
  $rootScope.classVar = [{ orange: true }];
541
- $rootScope.$digest();
542
493
  expect(element[0]).toHaveClass("orange");
543
494
 
544
495
  $rootScope.classVar[0].orange = false;
545
- $rootScope.$digest();
546
-
547
496
  expect(element[0]).not.toHaveClass("orange");
548
497
  });
549
498
 
@@ -552,12 +501,9 @@ describe("ngClass", () => {
552
501
  element = $compile('<div ng-class="[classVar]"></div>')($rootScope);
553
502
 
554
503
  $rootScope.classVar = { orange: true };
555
- $rootScope.$digest();
556
504
  expect(element[0]).toHaveClass("orange");
557
505
 
558
506
  $rootScope.classVar.orange = false;
559
- $rootScope.$digest();
560
-
561
507
  expect(element[0]).not.toHaveClass("orange");
562
508
  });
563
509
 
@@ -567,12 +513,9 @@ describe("ngClass", () => {
567
513
  );
568
514
 
569
515
  $rootScope.classVar1 = { orange: true };
570
- $rootScope.$digest();
571
516
  expect(element[0]).toHaveClass("orange");
572
517
 
573
518
  $rootScope.classVar1.orange = false;
574
- $rootScope.$digest();
575
-
576
519
  expect(element[0]).not.toHaveClass("orange");
577
520
  });
578
521
 
@@ -613,7 +556,6 @@ describe("ngClass", () => {
613
556
  $rootScope.classVar = [{ orange: true }];
614
557
  element = $compile('<div ng-class="classVar"></div>')($rootScope);
615
558
 
616
- $rootScope.$digest();
617
559
  expect(element[0]).toHaveClass("orange");
618
560
 
619
561
  $rootScope.$apply("classVar[0].orange = false");
@@ -664,8 +606,6 @@ describe("ngClass", () => {
664
606
  it("should not be copied when using an expression", () => {
665
607
  element = $compile('<div ng-class="fooClass"></div>')($rootScope)[0];
666
608
  $rootScope.fooClass = { foo: veryLargeObj };
667
- $rootScope.$digest();
668
-
669
609
  expect(element).toHaveClass("foo");
670
610
  expect(getProp).not.toHaveBeenCalled();
671
611
  });
@@ -675,8 +615,6 @@ describe("ngClass", () => {
675
615
  $rootScope,
676
616
  )[0];
677
617
  $rootScope.veryLargeObj = veryLargeObj;
678
- $rootScope.$digest();
679
-
680
618
  expect(element).toHaveClass("foo");
681
619
  expect(getProp).not.toHaveBeenCalled();
682
620
  });
@@ -686,8 +624,6 @@ describe("ngClass", () => {
686
624
  $rootScope,
687
625
  )[0];
688
626
  $rootScope.veryLargeObj = veryLargeObj;
689
- $rootScope.$digest();
690
-
691
627
  expect(element).toHaveClass("foo");
692
628
  expect(getProp).not.toHaveBeenCalled();
693
629
  });
@@ -697,8 +633,6 @@ describe("ngClass", () => {
697
633
  '<div ng-class="::{foo: veryLargeObj, bar: bar}"></div>',
698
634
  )($rootScope)[0];
699
635
  $rootScope.veryLargeObj = veryLargeObj;
700
- $rootScope.$digest();
701
-
702
636
  expect(element).toHaveClass("foo");
703
637
  expect(element).not.toHaveClass("bar");
704
638
  expect(getProp).not.toHaveBeenCalled();
@@ -744,22 +678,22 @@ describe("ngClass", () => {
744
678
  // expect($animate.queue.length).toBe(0);
745
679
 
746
680
  // $rootScope.val = "one";
747
- // $rootScope.$digest();
681
+ // ;
748
682
  // expect($animate.queue.shift().event).toBe("addClass");
749
683
  // expect($animate.queue.length).toBe(0);
750
684
 
751
685
  // $rootScope.val = "";
752
- // $rootScope.$digest();
686
+ // ;
753
687
  // expect($animate.queue.shift().event).toBe("removeClass"); // only removeClass is called
754
688
  // expect($animate.queue.length).toBe(0);
755
689
 
756
690
  // $rootScope.val = "one";
757
- // $rootScope.$digest();
691
+ // ;
758
692
  // expect($animate.queue.shift().event).toBe("addClass");
759
693
  // expect($animate.queue.length).toBe(0);
760
694
 
761
695
  // $rootScope.val = "two";
762
- // $rootScope.$digest();
696
+ // ;
763
697
  // expect($animate.queue.shift().event).toBe("addClass");
764
698
  // expect($animate.queue.shift().event).toBe("removeClass");
765
699
  // expect($animate.queue.length).toBe(0);
@@ -800,9 +734,9 @@ describe("ngClass", () => {
800
734
  // expect(element[0].classList.contains("crazy")).toBe(false);
801
735
  // expect(enterComplete).toBe(false);
802
736
 
803
- // $rootScope.$digest();
737
+ // ;
804
738
  // $animate.flush();
805
- // $rootScope.$digest();
739
+ // ;
806
740
 
807
741
  // expect(element[0].classList.contains("crazy")).toBe(true);
808
742
  // expect(enterComplete).toBe(true);
@@ -825,7 +759,7 @@ describe("ngClass", () => {
825
759
  // '<div ng-class="{one:one, two:two, three:three}"></div>',
826
760
  // );
827
761
  // $compile(element)($rootScope);
828
- // $rootScope.$digest();
762
+ // ;
829
763
 
830
764
  // // this fires twice due to the class observer firing
831
765
  // let item = $animate.queue.shift();
@@ -835,7 +769,7 @@ describe("ngClass", () => {
835
769
  // expect($animate.queue.length).toBe(0);
836
770
 
837
771
  // $rootScope.three = false;
838
- // $rootScope.$digest();
772
+ // ;
839
773
 
840
774
  // item = $animate.queue.shift();
841
775
  // expect(item.event).toBe("removeClass");
@@ -845,7 +779,7 @@ describe("ngClass", () => {
845
779
 
846
780
  // $rootScope.two = false;
847
781
  // $rootScope.three = true;
848
- // $rootScope.$digest();
782
+ // ;
849
783
 
850
784
  // item = $animate.queue.shift();
851
785
  // expect(item.event).toBe("addClass");
@@ -69,7 +69,6 @@ describe("ngController", () => {
69
69
  element = $compile('<div ng-controller="Greeter">{{greet(name)}}</div>')(
70
70
  $rootScope,
71
71
  );
72
- $rootScope.$digest();
73
72
  expect(element.text()).toBe("Hello Misko!");
74
73
  });
75
74
 
@@ -77,7 +76,6 @@ describe("ngController", () => {
77
76
  element = $compile('<div ng-controller="BoundFoo">{{mark}}</div>')(
78
77
  $rootScope,
79
78
  );
80
- $rootScope.$digest();
81
79
  expect(element.text()).toBe("foo");
82
80
  });
83
81
 
@@ -85,7 +83,6 @@ describe("ngController", () => {
85
83
  element = $compile('<div ng-controller="Public as p">{{p.mark}}</div>')(
86
84
  $rootScope,
87
85
  );
88
- $rootScope.$digest();
89
86
  expect(element.text()).toBe("works");
90
87
  });
91
88
 
@@ -93,7 +90,6 @@ describe("ngController", () => {
93
90
  element = $compile(
94
91
  '<div ng-controller="PublicModule as p">{{p.mark}}</div>',
95
92
  )($rootScope);
96
- $rootScope.$digest();
97
93
  expect(element.text()).toBe("works");
98
94
  });
99
95
 
@@ -101,14 +97,12 @@ describe("ngController", () => {
101
97
  element = $compile(
102
98
  '<div ng-controller="Greeter"><div ng-controller="Child">{{greet(name)}}</div></div>',
103
99
  )($rootScope);
104
- $rootScope.$digest();
105
100
  expect(element.text()).toBe("Hello Adam!");
106
101
  dealoc(element);
107
102
 
108
103
  element = $compile(
109
104
  '<div ng-controller="Greeter"><div ng-controller="Child">{{protoGreet(name)}}</div></div>',
110
105
  )($rootScope);
111
- $rootScope.$digest();
112
106
  expect(element.text()).toBe("Hello Adam!");
113
107
  });
114
108
 
@@ -125,7 +119,6 @@ describe("ngController", () => {
125
119
  injector = angular.bootstrap(element, ["myModule"]);
126
120
 
127
121
  $rootScope = injector.get("$rootScope");
128
- $rootScope.$digest();
129
122
  setTimeout(() => {
130
123
  expect(element.text()).toEqual("Vojta");
131
124
  dealoc($rootScope);
@@ -150,11 +143,7 @@ describe("ngController", () => {
150
143
  $rootScope = injector.get("$rootScope");
151
144
 
152
145
  $rootScope.expr = "first";
153
- $rootScope.$digest();
154
-
155
146
  $rootScope.expr = "second";
156
- $rootScope.$digest();
157
-
158
147
  expect(count).toBe(1);
159
148
  });
160
149
 
@@ -174,8 +163,6 @@ describe("ngController", () => {
174
163
  injector = angular.bootstrap(element, ["myModule"]);
175
164
 
176
165
  $rootScope = injector.get("$rootScope");
177
- $rootScope.$digest();
178
-
179
166
  expect(controllerScope.name).toBeUndefined();
180
167
  });
181
168
  });
@@ -21,7 +21,6 @@ describe("ngClick", () => {
21
21
 
22
22
  it("should get called on a click", () => {
23
23
  element = $compile('<div ng-click="clicked = true"></div>')($rootScope);
24
- $rootScope.$digest();
25
24
  expect($rootScope.clicked).toBeFalsy();
26
25
 
27
26
  element[0].click();
@@ -30,8 +29,6 @@ describe("ngClick", () => {
30
29
 
31
30
  it("should pass event object", () => {
32
31
  element = $compile('<div ng-click="event = $event"></div>')($rootScope);
33
- $rootScope.$digest();
34
-
35
32
  element[0].click();
36
33
  expect($rootScope.event).toBeDefined();
37
34
  });
@@ -40,8 +40,6 @@ describe("event directives", () => {
40
40
  '<input type="submit" />' +
41
41
  "</form>",
42
42
  )($rootScope);
43
- $rootScope.$digest();
44
-
45
43
  // Support: Chrome 60+
46
44
  // We need to add the form to the DOM in order for `submit` events to be properly fired.
47
45
  document.getElementById("dummy").appendChild(element[0]);
@@ -69,8 +67,6 @@ describe("event directives", () => {
69
67
  '<input type="submit" />' +
70
68
  "</form>",
71
69
  )($rootScope);
72
- $rootScope.$digest();
73
-
74
70
  // Support: Chrome 60+ (on Windows)
75
71
  // We need to add the form to the DOM in order for `submit` events to be properly fired.
76
72
  document.getElementById("dummy").appendChild(element[0]);
@@ -276,8 +272,6 @@ describe("event directives", () => {
276
272
  logs.push("done");
277
273
  });
278
274
 
279
- $rootScope.$digest();
280
-
281
275
  expect(logs[0]).toEqual("listener error");
282
276
  expect(logs[1]).toEqual("done");
283
277
  });
@@ -448,9 +448,8 @@ addSetValidityMethod({
448
448
  */
449
449
  const formDirectiveFactory = function (isNgForm) {
450
450
  return [
451
- "$timeout",
452
451
  "$parse",
453
- function ($timeout, $parse) {
452
+ function ($parse) {
454
453
  const formDirective = {
455
454
  name: "form",
456
455
  restrict: isNgForm ? "EA" : "E",
@@ -492,7 +491,7 @@ const formDirectiveFactory = function (isNgForm) {
492
491
  // unregister the preventDefault listener so that we don't not leak memory but in a
493
492
  // way that will achieve the prevention of the default action.
494
493
  formElement.on("$destroy", () => {
495
- $timeout(
494
+ setTimeout(
496
495
  () => {
497
496
  formElement[0].removeEventListener(
498
497
  "submit",