@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.
- package/dist/angular-ts.umd.js +10 -0
- package/index.html +74 -3
- package/package.json +1 -1
- package/src/angular.spec.js +0 -5
- package/src/animations/animate-css.js +5 -13
- package/src/animations/animate-queue.js +22 -21
- package/src/animations/animate-runner.js +4 -8
- package/src/animations/animate.md +1 -1
- package/src/animations/animate.spec.js +0 -21
- package/src/animations/animation.js +1 -1
- package/src/binding.spec.js +0 -1
- package/src/core/cache/cache.js +2 -29
- package/src/core/compile/compile.js +26 -27
- package/src/core/compile/compile.spec.js +17 -266
- package/src/core/compile/compile.test.js +1 -1
- package/src/core/controller/controller.js +2 -0
- package/src/core/di/injector.md +1 -1
- package/src/core/di/injector.spec.js +0 -2
- package/src/core/di/internal-injector.js +2 -1
- package/src/core/interpolate/interpolate.js +16 -3
- package/src/core/interpolate/interpolate.spec.js +70 -16
- package/src/core/interval/interval.test.js +1 -1
- package/src/core/location/location.js +0 -2
- package/src/core/location/location.spec.js +27 -27
- package/src/core/{scope/scope.html → model/model.html} +1 -1
- package/src/core/model/model.js +944 -0
- package/src/core/model/model.spec.js +3012 -0
- package/src/core/on.spec.js +0 -7
- package/src/core/parse/interpreter.js +10 -7
- package/src/core/parse/parse.js +26 -5
- package/src/core/parse/parse.spec.js +95 -91
- package/src/core/prop.spec.js +4 -60
- package/src/core/sce/sce.spec.js +0 -8
- package/src/core/scope/scope.js +61 -30
- package/src/core/scope/scope.spec.js +25 -1960
- package/src/directive/aria/aria.js +3 -6
- package/src/directive/aria/aria.spec.js +0 -87
- package/src/directive/attrs/attrs.spec.js +0 -5
- package/src/directive/attrs/boolean.spec.js +0 -15
- package/src/directive/attrs/element-style.spec.js +0 -8
- package/src/directive/attrs/src.spec.js +0 -7
- package/src/directive/bind/bind.spec.js +0 -33
- package/src/directive/bind/bing-html.spec.js +0 -3
- package/src/{core/q/q.html → directive/channel/channel.html} +1 -1
- package/src/directive/channel/channel.js +29 -0
- package/src/directive/channel/channel.spec.js +52 -0
- package/src/directive/{list/list.test.js → channel/channel.test.js} +2 -4
- package/src/directive/class/class.js +3 -3
- package/src/directive/class/class.spec.js +9 -75
- package/src/directive/controller/controller.spec.js +0 -13
- package/src/directive/events/click.spec.js +0 -3
- package/src/directive/events/event.spec.js +0 -6
- package/src/directive/form/form.js +2 -3
- package/src/directive/form/form.spec.js +0 -65
- package/src/directive/if/if.spec.js +0 -4
- package/src/directive/include/include.spec.js +8 -59
- package/src/directive/init/init.js +6 -2
- package/src/directive/init/init.spec.js +0 -2
- package/src/directive/input/input.spec.js +0 -136
- package/src/directive/messages/messages.spec.js +4 -35
- package/src/directive/model/model.js +18 -25
- package/src/directive/model/model.spec.js +2 -49
- package/src/directive/model-options/model-options.spec.js +0 -6
- package/src/directive/non-bindable/non-bindable.spec.js +0 -1
- package/src/directive/observe/observe.js +0 -1
- package/src/directive/observe/observe.spec.js +0 -1
- package/src/directive/options/options.spec.js +0 -34
- package/src/directive/ref/href.spec.js +0 -15
- package/src/directive/repeat/repeat.spec.js +8 -135
- package/src/directive/script/script.spec.js +0 -2
- package/src/directive/select/select.js +3 -3
- package/src/directive/select/select.spec.js +0 -96
- package/src/directive/show-hide/show-hide.js +2 -2
- package/src/directive/show-hide/show-hide.spec.js +8 -19
- package/src/directive/style/style.spec.js +0 -7
- package/src/directive/switch/switch.spec.js +5 -5
- package/src/directive/validators/validators.spec.js +0 -1
- package/src/loader.js +0 -1
- package/src/public.js +75 -80
- package/src/router/common/coreservices.js +0 -2
- package/src/router/directives/state-directives.js +6 -14
- package/src/router/directives/state-directives.spec.js +0 -83
- package/src/router/directives/view-directive.js +4 -13
- package/src/router/directives/view-directive.spec.js +25 -71
- package/src/router/hooks/lazy-load.js +2 -2
- package/src/router/hooks/views.js +3 -5
- package/src/router/resolve/resolvable.js +3 -6
- package/src/router/resolve/resolve-context.js +2 -2
- package/src/router/state/state-service.js +4 -4
- package/src/router/state/state.spec.js +2 -5
- package/src/router/state/views.js +7 -10
- package/src/router/template-factory.js +3 -6
- package/src/router/template-factory.spec.js +0 -4
- package/src/router/transition/transition-hook.js +1 -1
- package/src/router/transition/transition.js +1 -1
- package/src/router/view-hook.spec.js +2 -2
- package/src/router/view-scroll.js +4 -6
- package/src/services/http/http.js +6 -9
- package/src/services/http/http.spec.js +30 -31
- package/src/services/http/template-request.spec.js +0 -10
- package/src/services/http-backend/http-backend.spec.js +3 -3
- package/src/services/template-request.js +2 -4
- package/src/shared/common.js +1 -2
- package/src/shared/jqlite/jqlite.js +0 -3
- package/types/core/cache/cache.d.ts +1 -1
- package/types/core/model/model.d.ts +204 -0
- package/types/core/parse/parse.d.ts +26 -0
- package/types/core/scope/scope.d.ts +22 -21
- package/types/directive/channel/channel.d.ts +11 -0
- package/src/core/interval/interval-factory.js +0 -50
- package/src/core/interval/interval.html +0 -18
- package/src/core/interval/interval.js +0 -77
- package/src/core/interval/interval.md +0 -123
- package/src/core/interval/interval.spec.js +0 -280
- package/src/core/q/q.js +0 -472
- package/src/core/q/q.md +0 -211
- package/src/core/q/q.spec.js +0 -2748
- package/src/core/q/q.test.js +0 -12
- package/src/core/scope/scope.test.js +0 -12
- package/src/core/timeout/timeout.html +0 -18
- package/src/core/timeout/timeout.js +0 -109
- package/src/core/timeout/timeout.spec.js +0 -354
- package/src/core/timeout/timout.test.js +0 -12
- package/src/directive/list/list.html +0 -18
- package/src/directive/list/list.js +0 -46
- package/src/directive/list/list.md +0 -22
- package/src/directive/list/list.spec.js +0 -172
- 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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
737
|
+
// ;
|
|
804
738
|
// $animate.flush();
|
|
805
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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 ($
|
|
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
|
-
|
|
494
|
+
setTimeout(
|
|
496
495
|
() => {
|
|
497
496
|
formElement[0].removeEventListener(
|
|
498
497
|
"submit",
|