@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
|
@@ -387,8 +387,6 @@ describe("ngOptions", () => {
|
|
|
387
387
|
"ng-model": "selected",
|
|
388
388
|
"ng-options": "option.id as option.display for option in values",
|
|
389
389
|
});
|
|
390
|
-
scope.$digest();
|
|
391
|
-
|
|
392
390
|
const options = element.find("option");
|
|
393
391
|
expect(options.length).toEqual(2);
|
|
394
392
|
expect(options.eq(0)).toEqualOption("FF0000", "red");
|
|
@@ -400,8 +398,6 @@ describe("ngOptions", () => {
|
|
|
400
398
|
expect(options.eq(0)[0].selected).toBe(true);
|
|
401
399
|
|
|
402
400
|
scope.selected = "0000FF";
|
|
403
|
-
scope.$digest();
|
|
404
|
-
|
|
405
401
|
expect(options.eq(1)[0].getAttribute("selected")).toBe("selected");
|
|
406
402
|
expect(options.eq(1).attr("selected")).toBe("selected");
|
|
407
403
|
expect(options.eq(1)[0].selected).toBe(true);
|
|
@@ -438,7 +434,6 @@ describe("ngOptions", () => {
|
|
|
438
434
|
{ id: 0, label: "x" },
|
|
439
435
|
{ id: 1, label: "y" },
|
|
440
436
|
];
|
|
441
|
-
scope.$digest();
|
|
442
437
|
const options = element.find("option");
|
|
443
438
|
expect(options.length).toEqual(2);
|
|
444
439
|
expect(options.eq(0)).toEqualOption(0, "x");
|
|
@@ -612,8 +607,6 @@ describe("ngOptions", () => {
|
|
|
612
607
|
scope.array.other = "do not watch";
|
|
613
608
|
scope.array.fn = function () {};
|
|
614
609
|
scope.selected = "b";
|
|
615
|
-
scope.$digest();
|
|
616
|
-
|
|
617
610
|
expect(scope.createLabel).toHaveBeenCalledWith("a");
|
|
618
611
|
expect(scope.createLabel).toHaveBeenCalledWith("b");
|
|
619
612
|
expect(scope.createLabel).toHaveBeenCalledWith("c");
|
|
@@ -635,8 +628,6 @@ describe("ngOptions", () => {
|
|
|
635
628
|
$property: "invisible",
|
|
636
629
|
};
|
|
637
630
|
scope.selected = "regularProperty";
|
|
638
|
-
scope.$digest();
|
|
639
|
-
|
|
640
631
|
expect(scope.createLabel).toHaveBeenCalledWith("regularProperty");
|
|
641
632
|
expect(scope.createLabel).not.toHaveBeenCalledWith("$$private");
|
|
642
633
|
expect(scope.createLabel).not.toHaveBeenCalledWith("$property");
|
|
@@ -688,8 +679,6 @@ describe("ngOptions", () => {
|
|
|
688
679
|
expect(optionToSelect.text()).toBe("B");
|
|
689
680
|
|
|
690
681
|
optionToSelect[0].selected = true;
|
|
691
|
-
scope.$digest();
|
|
692
|
-
|
|
693
682
|
expect(optionToSelect[0].selected).toBe(true);
|
|
694
683
|
expect(scope.selected).toBe(scope.values[0]);
|
|
695
684
|
});
|
|
@@ -782,7 +771,6 @@ describe("ngOptions", () => {
|
|
|
782
771
|
|
|
783
772
|
// Change the scope but the options should not change
|
|
784
773
|
scope.arr = ["w", "x", "y", "z"];
|
|
785
|
-
scope.$digest();
|
|
786
774
|
options = element.find("option");
|
|
787
775
|
expect(options.length).toEqual(4);
|
|
788
776
|
expect(options.eq(0)).toEqualUnknownOption();
|
|
@@ -811,30 +799,23 @@ describe("ngOptions", () => {
|
|
|
811
799
|
expect(options[2].selected).not.toBe(true);
|
|
812
800
|
|
|
813
801
|
scope.selected = scope.values[0];
|
|
814
|
-
scope.$digest();
|
|
815
|
-
|
|
816
802
|
expect(options[0].selected).not.toBe(true);
|
|
817
803
|
expect(options[1].selected).toBe(true);
|
|
818
804
|
expect(options[2].selected).not.toBe(true);
|
|
819
805
|
|
|
820
806
|
scope.selected = scope.values[1];
|
|
821
|
-
scope.$digest();
|
|
822
|
-
|
|
823
807
|
expect(options[0].selected).not.toBe(true);
|
|
824
808
|
expect(options[1].selected).not.toBe(true);
|
|
825
809
|
expect(options[2].selected).toBe(true);
|
|
826
810
|
|
|
827
811
|
// This will select the empty option
|
|
828
812
|
scope.selected = null;
|
|
829
|
-
scope.$digest();
|
|
830
|
-
|
|
831
813
|
expect(options[0].selected).toBe(true);
|
|
832
814
|
expect(options[1].selected).not.toBe(true);
|
|
833
815
|
expect(options[2].selected).not.toBe(true);
|
|
834
816
|
|
|
835
817
|
// This will add and select the unknown option
|
|
836
818
|
scope.selected = "unmatched value";
|
|
837
|
-
scope.$digest();
|
|
838
819
|
options = element.find("option");
|
|
839
820
|
|
|
840
821
|
expect(options[0].selected).toBe(true);
|
|
@@ -844,7 +825,6 @@ describe("ngOptions", () => {
|
|
|
844
825
|
|
|
845
826
|
// Back to matched value
|
|
846
827
|
scope.selected = scope.values[1];
|
|
847
|
-
scope.$digest();
|
|
848
828
|
options = element.find("option");
|
|
849
829
|
|
|
850
830
|
expect(options[0].selected).not.toBe(true);
|
|
@@ -1530,7 +1510,6 @@ describe("ngOptions", () => {
|
|
|
1530
1510
|
expect(scope.selected).toEqual(scope.arr[1]);
|
|
1531
1511
|
|
|
1532
1512
|
scope.selected = {};
|
|
1533
|
-
scope.$digest();
|
|
1534
1513
|
expect(options[0].selected).toBeTrue();
|
|
1535
1514
|
expect(options[1].selected).not.toBeTrue();
|
|
1536
1515
|
expect(options[2].selected).not.toBeTrue();
|
|
@@ -1868,8 +1847,6 @@ describe("ngOptions", () => {
|
|
|
1868
1847
|
{ cls: "one", name: "Beta" },
|
|
1869
1848
|
{ cls: "two", name: "Gamma" },
|
|
1870
1849
|
];
|
|
1871
|
-
scope.$digest();
|
|
1872
|
-
|
|
1873
1850
|
optgroups = element.find("optgroup");
|
|
1874
1851
|
expect(optgroups.length).toBe(2);
|
|
1875
1852
|
|
|
@@ -1895,8 +1872,6 @@ describe("ngOptions", () => {
|
|
|
1895
1872
|
{ cls: "two", name: "Delta" },
|
|
1896
1873
|
{ cls: "three", name: "Epsilon" },
|
|
1897
1874
|
);
|
|
1898
|
-
scope.$digest();
|
|
1899
|
-
|
|
1900
1875
|
optgroups = element.find("optgroup");
|
|
1901
1876
|
expect(optgroups.length).toBe(3);
|
|
1902
1877
|
|
|
@@ -2354,8 +2329,6 @@ describe("ngOptions", () => {
|
|
|
2354
2329
|
expect(element[0].value).toBe("?");
|
|
2355
2330
|
|
|
2356
2331
|
scope.selected = undefined;
|
|
2357
|
-
scope.$digest();
|
|
2358
|
-
|
|
2359
2332
|
expect(element[0].value).toBe("");
|
|
2360
2333
|
});
|
|
2361
2334
|
|
|
@@ -2614,7 +2587,6 @@ describe("ngOptions", () => {
|
|
|
2614
2587
|
createSingleSelect(true);
|
|
2615
2588
|
// ensure the first option (the blank option) is selected
|
|
2616
2589
|
expect(element[0].selectedIndex).toEqual(0);
|
|
2617
|
-
scope.$digest();
|
|
2618
2590
|
// ensure the option has not changed following the digest
|
|
2619
2591
|
expect(element[0].selectedIndex).toEqual(0);
|
|
2620
2592
|
});
|
|
@@ -2765,7 +2737,6 @@ describe("ngOptions", () => {
|
|
|
2765
2737
|
element = $compile(
|
|
2766
2738
|
'<custom-select ng-model="value" options="options"></custom-select>',
|
|
2767
2739
|
)(scope);
|
|
2768
|
-
scope.$digest();
|
|
2769
2740
|
}).not.toThrow();
|
|
2770
2741
|
|
|
2771
2742
|
dealoc(element);
|
|
@@ -2940,7 +2911,6 @@ describe("ngOptions", () => {
|
|
|
2940
2911
|
scope.values = { 0: "A", 1: "B" };
|
|
2941
2912
|
|
|
2942
2913
|
scope.selected = ["1"];
|
|
2943
|
-
scope.$digest();
|
|
2944
2914
|
expect(element.find("option")[1].selected).toBe(true);
|
|
2945
2915
|
|
|
2946
2916
|
element.find("option")[0].selected = true;
|
|
@@ -3428,7 +3398,6 @@ describe("ngOptions", () => {
|
|
|
3428
3398
|
});
|
|
3429
3399
|
|
|
3430
3400
|
it("should fail validation when $asyncValidators fail", () => {
|
|
3431
|
-
let $q = injector.get("$q");
|
|
3432
3401
|
let defer;
|
|
3433
3402
|
createSelect({
|
|
3434
3403
|
name: "select",
|
|
@@ -3447,14 +3416,12 @@ describe("ngOptions", () => {
|
|
|
3447
3416
|
expect(element).toEqualSelectValue("third");
|
|
3448
3417
|
|
|
3449
3418
|
defer.reject();
|
|
3450
|
-
scope.$digest();
|
|
3451
3419
|
expect(scope.form.select.$pending).toBeUndefined();
|
|
3452
3420
|
expect(scope.value).toBeUndefined();
|
|
3453
3421
|
expect(element).toEqualSelectValue("third");
|
|
3454
3422
|
});
|
|
3455
3423
|
|
|
3456
3424
|
it("should pass validation when $asyncValidators pass", () => {
|
|
3457
|
-
let $q = injector.get("$q");
|
|
3458
3425
|
let defer;
|
|
3459
3426
|
createSelect({
|
|
3460
3427
|
name: "select",
|
|
@@ -3473,7 +3440,6 @@ describe("ngOptions", () => {
|
|
|
3473
3440
|
expect(element).toEqualSelectValue("third");
|
|
3474
3441
|
|
|
3475
3442
|
defer.resolve();
|
|
3476
|
-
scope.$digest();
|
|
3477
3443
|
expect(scope.form.select.$pending).toBeUndefined();
|
|
3478
3444
|
expect(scope.value).toBe("third");
|
|
3479
3445
|
expect(element).toEqualSelectValue("third");
|
|
@@ -29,7 +29,6 @@ describe("ngHref", () => {
|
|
|
29
29
|
|
|
30
30
|
it("should interpolate the expression and bind to href", () => {
|
|
31
31
|
element = $compile('<a ng-href="some/{{id}}"></div>')($rootScope);
|
|
32
|
-
$rootScope.$digest();
|
|
33
32
|
expect(element.attr("href")).toEqual("some/");
|
|
34
33
|
|
|
35
34
|
$rootScope.$apply(() => {
|
|
@@ -42,31 +41,25 @@ describe("ngHref", () => {
|
|
|
42
41
|
element = $compile('<a ng-href="{{url}}" rel="{{rel}}"></a>')($rootScope);
|
|
43
42
|
$rootScope.url = "http://server";
|
|
44
43
|
$rootScope.rel = "REL";
|
|
45
|
-
$rootScope.$digest();
|
|
46
44
|
expect(element.attr("href")).toEqual("http://server");
|
|
47
45
|
expect(element.attr("rel")).toEqual("REL");
|
|
48
46
|
});
|
|
49
47
|
|
|
50
48
|
it("should bind href even if no interpolation", () => {
|
|
51
49
|
element = $compile('<a ng-href="http://server"></a>')($rootScope);
|
|
52
|
-
$rootScope.$digest();
|
|
53
50
|
expect(element.attr("href")).toEqual("http://server");
|
|
54
51
|
});
|
|
55
52
|
|
|
56
53
|
it("should not set the href if ng-href is empty", () => {
|
|
57
54
|
$rootScope.url = null;
|
|
58
55
|
element = $compile('<a ng-href="{{url}}">')($rootScope);
|
|
59
|
-
$rootScope.$digest();
|
|
60
56
|
expect(element.attr("href")).toEqual(undefined);
|
|
61
57
|
});
|
|
62
58
|
|
|
63
59
|
it("should remove the href if ng-href changes to empty", () => {
|
|
64
60
|
$rootScope.url = "http://www.google.com/";
|
|
65
61
|
element = $compile('<a ng-href="{{url}}">')($rootScope);
|
|
66
|
-
$rootScope.$digest();
|
|
67
|
-
|
|
68
62
|
$rootScope.url = null;
|
|
69
|
-
$rootScope.$digest();
|
|
70
63
|
expect(element.attr("href")).toEqual(undefined);
|
|
71
64
|
});
|
|
72
65
|
|
|
@@ -74,26 +67,22 @@ describe("ngHref", () => {
|
|
|
74
67
|
/* eslint no-script-url: "off" */
|
|
75
68
|
$rootScope.imageUrl = "javascript:alert(1);";
|
|
76
69
|
element = $compile('<a ng-href="{{imageUrl}}">')($rootScope);
|
|
77
|
-
$rootScope.$digest();
|
|
78
70
|
expect(element.attr("href")).toBe("unsafe:javascript:alert(1);");
|
|
79
71
|
});
|
|
80
72
|
|
|
81
73
|
it("should sanitize non-interpolated url", () => {
|
|
82
74
|
element = $compile('<a ng-href="javascript:alert(1);">')($rootScope);
|
|
83
|
-
$rootScope.$digest();
|
|
84
75
|
expect(element.attr("href")).toBe("unsafe:javascript:alert(1);");
|
|
85
76
|
});
|
|
86
77
|
|
|
87
78
|
it("should bind numbers", () => {
|
|
88
79
|
element = $compile('<a ng-href="{{1234}}"></a>')($rootScope);
|
|
89
|
-
$rootScope.$digest();
|
|
90
80
|
expect(element.attr("href")).toEqual("1234");
|
|
91
81
|
});
|
|
92
82
|
|
|
93
83
|
it("should bind and sanitize the result of a (custom) toString() function", () => {
|
|
94
84
|
$rootScope.value = {};
|
|
95
85
|
element = $compile('<a ng-href="{{value}}"></a>')($rootScope);
|
|
96
|
-
$rootScope.$digest();
|
|
97
86
|
expect(element.attr("href")).toEqual("[object Object]");
|
|
98
87
|
|
|
99
88
|
function SafeClass() {}
|
|
@@ -103,7 +92,6 @@ describe("ngHref", () => {
|
|
|
103
92
|
};
|
|
104
93
|
|
|
105
94
|
$rootScope.value = new SafeClass();
|
|
106
|
-
$rootScope.$digest();
|
|
107
95
|
expect(element.attr("href")).toEqual("custom value");
|
|
108
96
|
|
|
109
97
|
function UnsafeClass() {}
|
|
@@ -113,7 +101,6 @@ describe("ngHref", () => {
|
|
|
113
101
|
};
|
|
114
102
|
|
|
115
103
|
$rootScope.value = new UnsafeClass();
|
|
116
|
-
$rootScope.$digest();
|
|
117
104
|
expect(element.attr("href")).toEqual("unsafe:javascript:alert(1);");
|
|
118
105
|
});
|
|
119
106
|
|
|
@@ -124,7 +111,6 @@ describe("ngHref", () => {
|
|
|
124
111
|
$rootScope,
|
|
125
112
|
);
|
|
126
113
|
const child = element.children("a");
|
|
127
|
-
$rootScope.$digest();
|
|
128
114
|
expect(child.attr("xlink:href")).toEqual("some/");
|
|
129
115
|
|
|
130
116
|
$rootScope.$apply(() => {
|
|
@@ -138,7 +124,6 @@ describe("ngHref", () => {
|
|
|
138
124
|
$rootScope,
|
|
139
125
|
);
|
|
140
126
|
const child = element.children("a");
|
|
141
|
-
$rootScope.$digest();
|
|
142
127
|
expect(child.attr("xlink:href")).toEqual("http://server");
|
|
143
128
|
});
|
|
144
129
|
});
|