@angular-wave/angular.ts 0.4.4 → 0.4.5

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 (120) hide show
  1. package/dist/angular-ts.esm.js +2 -2
  2. package/dist/angular-ts.umd.js +2 -12
  3. package/index.html +3 -74
  4. package/package.json +1 -1
  5. package/src/angular.spec.js +5 -0
  6. package/src/animations/animate-css.js +13 -5
  7. package/src/animations/animate-queue.js +21 -22
  8. package/src/animations/animate-runner.js +8 -4
  9. package/src/animations/animate.md +1 -1
  10. package/src/animations/animate.spec.js +21 -0
  11. package/src/animations/animation.js +1 -1
  12. package/src/binding.spec.js +1 -0
  13. package/src/core/compile/compile.js +26 -25
  14. package/src/core/compile/compile.spec.js +266 -17
  15. package/src/core/controller/controller.js +0 -2
  16. package/src/core/di/injector.md +1 -1
  17. package/src/core/di/injector.spec.js +2 -0
  18. package/src/core/di/internal-injector.js +1 -2
  19. package/src/core/interpolate/interpolate.js +3 -16
  20. package/src/core/interpolate/interpolate.spec.js +16 -70
  21. package/src/core/interval/interval-factory.js +50 -0
  22. package/src/core/interval/interval.html +18 -0
  23. package/src/core/interval/interval.js +77 -0
  24. package/src/core/interval/interval.md +123 -0
  25. package/src/core/interval/interval.spec.js +280 -0
  26. package/src/core/interval/interval.test.js +1 -1
  27. package/src/core/location/location.js +47 -39
  28. package/src/core/location/location.spec.js +27 -27
  29. package/src/core/on.spec.js +7 -0
  30. package/src/core/parse/interpreter.js +7 -10
  31. package/src/core/parse/parse.js +5 -26
  32. package/src/core/parse/parse.spec.js +91 -95
  33. package/src/core/prop.spec.js +60 -4
  34. package/src/core/q/q.html +18 -0
  35. package/src/core/q/q.js +472 -0
  36. package/src/core/q/q.md +211 -0
  37. package/src/core/q/q.spec.js +2748 -0
  38. package/src/core/q/q.test.js +12 -0
  39. package/src/core/sce/sce.spec.js +8 -0
  40. package/src/core/{model/model.html → scope/scope.html} +1 -1
  41. package/src/core/scope/scope.js +16 -15
  42. package/src/core/scope/scope.spec.js +1959 -24
  43. package/src/core/scope/scope.test.js +12 -0
  44. package/src/core/timeout/timeout.html +18 -0
  45. package/src/core/timeout/timeout.js +109 -0
  46. package/src/core/timeout/timeout.spec.js +354 -0
  47. package/src/core/timeout/timout.test.js +12 -0
  48. package/src/core/url-utils/url-utils.spec.js +1 -1
  49. package/src/directive/aria/aria.js +6 -3
  50. package/src/directive/aria/aria.spec.js +87 -0
  51. package/src/directive/attrs/attrs.spec.js +5 -0
  52. package/src/directive/attrs/boolean.spec.js +15 -0
  53. package/src/directive/attrs/element-style.spec.js +8 -0
  54. package/src/directive/attrs/src.spec.js +7 -0
  55. package/src/directive/bind/bind.spec.js +33 -0
  56. package/src/directive/bind/bing-html.spec.js +3 -0
  57. package/src/directive/class/class.js +3 -3
  58. package/src/directive/class/class.spec.js +75 -9
  59. package/src/directive/controller/controller.spec.js +13 -0
  60. package/src/directive/events/click.spec.js +3 -0
  61. package/src/directive/events/event.spec.js +6 -0
  62. package/src/directive/form/form.js +3 -2
  63. package/src/directive/form/form.spec.js +65 -0
  64. package/src/directive/if/if.spec.js +4 -0
  65. package/src/directive/include/include.spec.js +59 -8
  66. package/src/directive/init/init.js +2 -6
  67. package/src/directive/init/init.spec.js +2 -0
  68. package/src/directive/input/input.spec.js +136 -0
  69. package/src/directive/messages/messages.spec.js +35 -4
  70. package/src/directive/model/model.js +25 -18
  71. package/src/directive/model/model.spec.js +49 -2
  72. package/src/directive/model-options/model-options.spec.js +6 -0
  73. package/src/directive/non-bindable/non-bindable.spec.js +1 -0
  74. package/src/directive/observe/observe.js +1 -0
  75. package/src/directive/observe/observe.spec.js +1 -0
  76. package/src/directive/options/options.spec.js +34 -0
  77. package/src/directive/ref/href.spec.js +15 -0
  78. package/src/directive/repeat/repeat.spec.js +135 -8
  79. package/src/directive/script/script.spec.js +2 -0
  80. package/src/directive/select/select.js +3 -3
  81. package/src/directive/select/select.spec.js +96 -0
  82. package/src/directive/show-hide/show-hide.js +2 -2
  83. package/src/directive/show-hide/show-hide.spec.js +19 -8
  84. package/src/directive/style/style.spec.js +7 -0
  85. package/src/directive/switch/switch.spec.js +5 -5
  86. package/src/directive/validators/validators.spec.js +1 -0
  87. package/src/loader.js +1 -0
  88. package/src/public.js +10 -2
  89. package/src/router/common/coreservices.js +2 -0
  90. package/src/router/directives/state-directives.js +14 -6
  91. package/src/router/directives/state-directives.spec.js +83 -0
  92. package/src/router/directives/view-directive.js +13 -4
  93. package/src/router/directives/view-directive.spec.js +71 -25
  94. package/src/router/hooks/lazy-load.js +2 -2
  95. package/src/router/hooks/views.js +5 -3
  96. package/src/router/resolve/resolvable.js +6 -3
  97. package/src/router/resolve/resolve-context.js +2 -2
  98. package/src/router/state/state-service.js +4 -4
  99. package/src/router/state/state.spec.js +5 -2
  100. package/src/router/state/state.test.js +1 -1
  101. package/src/router/state/views.js +10 -7
  102. package/src/router/template-factory.js +6 -3
  103. package/src/router/template-factory.spec.js +4 -0
  104. package/src/router/transition/transition-hook.js +1 -1
  105. package/src/router/transition/transition.js +1 -1
  106. package/src/router/view-hook.spec.js +2 -2
  107. package/src/router/view-scroll.js +6 -4
  108. package/src/services/browser.js +5 -8
  109. package/src/services/http/http.js +9 -6
  110. package/src/services/http/http.spec.js +31 -30
  111. package/src/services/http/template-request.spec.js +10 -0
  112. package/src/services/http-backend/http-backend.spec.js +3 -3
  113. package/src/services/template-request.js +4 -2
  114. package/src/shared/common.js +2 -1
  115. package/types/core/location/location.d.ts +36 -31
  116. package/types/core/parse/parse.d.ts +0 -26
  117. package/types/core/scope/scope.d.ts +11 -11
  118. package/src/core/model/model.js +0 -944
  119. package/src/core/model/model.spec.js +0 -3012
  120. package/types/core/model/model.d.ts +0 -204
@@ -67,6 +67,7 @@ describe("input", () => {
67
67
  },
68
68
  });
69
69
  $compile(input)(scope);
70
+ scope.$digest();
70
71
  expect(setterCalls).toBe(0);
71
72
  });
72
73
 
@@ -110,6 +111,7 @@ describe("input", () => {
110
111
  expect(scope.form.nameA.$name).toBe("nameA");
111
112
  const oldModel = scope.form.nameA;
112
113
  scope.nameID = "B";
114
+ scope.$digest();
113
115
  expect(scope.form.nameA).toBeUndefined();
114
116
  expect(scope.form.nameB).toBe(oldModel);
115
117
  expect(scope.form.nameB.$name).toBe("nameB");
@@ -124,6 +126,7 @@ describe("input", () => {
124
126
  expect(model.$name).toBe("nameA");
125
127
 
126
128
  scope.nameID = "B";
129
+ scope.$digest();
127
130
  expect(model.$name).toBe("nameB");
128
131
  });
129
132
  });
@@ -428,6 +431,8 @@ describe("input", () => {
428
431
  it("should validate if min is empty", () => {
429
432
  scope.minVal = undefined;
430
433
  scope.value = "2014-01";
434
+ scope.$digest();
435
+
431
436
  expect(scope.form.alias.$error.min).toBeFalsy();
432
437
  });
433
438
  });
@@ -470,6 +475,8 @@ describe("input", () => {
470
475
  expect(scope.form.alias.$error.max).toBeFalsy();
471
476
 
472
477
  scope.maxVal = "2012-01";
478
+ scope.$digest();
479
+
473
480
  expect(
474
481
  inputElm.find("input")[0].classList.contains("ng-invalid"),
475
482
  ).toBeTrue();
@@ -479,6 +486,8 @@ describe("input", () => {
479
486
  it("should validate if max is empty", () => {
480
487
  scope.maxVal = undefined;
481
488
  scope.value = "2012-03";
489
+ scope.$digest();
490
+
482
491
  expect(scope.form.alias.$error.max).toBeFalsy();
483
492
  });
484
493
  });
@@ -611,6 +620,8 @@ describe("input", () => {
611
620
  expect(scope.form.alias.$error.min).toBeFalsy();
612
621
 
613
622
  scope.minVal = "2014-W01";
623
+ scope.$digest();
624
+
614
625
  expect(
615
626
  inputElm.find("input")[0].classList.contains("ng-invalid"),
616
627
  ).toBeTrue();
@@ -620,6 +631,8 @@ describe("input", () => {
620
631
  it("should validate if min is empty", () => {
621
632
  scope.minVal = undefined;
622
633
  scope.value = "2013-W03";
634
+ scope.$digest();
635
+
623
636
  expect(scope.form.alias.$error.min).toBeFalsy();
624
637
  });
625
638
  });
@@ -663,6 +676,8 @@ describe("input", () => {
663
676
  expect(scope.form.alias.$error.max).toBeFalsy();
664
677
 
665
678
  scope.maxVal = "2012-W01";
679
+ scope.$digest();
680
+
666
681
  expect(
667
682
  inputElm.find("input")[0].classList.contains("ng-invalid"),
668
683
  ).toBeTrue();
@@ -672,6 +687,8 @@ describe("input", () => {
672
687
  it("should validate if max is empty", () => {
673
688
  scope.maxVal = undefined;
674
689
  scope.value = "2012-W01";
690
+ scope.$digest();
691
+
675
692
  expect(scope.form.alias.$error.max).toBeFalsy();
676
693
  });
677
694
  });
@@ -806,6 +823,8 @@ describe("input", () => {
806
823
  expect(scope.form.alias.$error.min).toBeFalsy();
807
824
 
808
825
  scope.minVal = "2010-01-01T01:02:00";
826
+ scope.$digest();
827
+
809
828
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
810
829
  expect(scope.form.alias.$error.min).toBeTruthy();
811
830
  });
@@ -813,6 +832,8 @@ describe("input", () => {
813
832
  it("should validate if min is empty", () => {
814
833
  scope.minVal = undefined;
815
834
  scope.value = "2010-01-01T01:02:00";
835
+ scope.$digest();
836
+
816
837
  expect(scope.form.alias.$error.min).toBeFalsy();
817
838
  });
818
839
  });
@@ -850,6 +871,8 @@ describe("input", () => {
850
871
  expect(scope.form.alias.$error.max).toBeFalsy();
851
872
 
852
873
  scope.maxVal = "2000-01-01T01:02:00";
874
+ scope.$digest();
875
+
853
876
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
854
877
  expect(scope.form.alias.$error.max).toBeTruthy();
855
878
  });
@@ -857,6 +880,8 @@ describe("input", () => {
857
880
  it("should validate if max is empty", () => {
858
881
  scope.maxVal = undefined;
859
882
  scope.value = "2000-01-01T01:02:00";
883
+ scope.$digest();
884
+
860
885
  expect(scope.form.alias.$error.max).toBeFalsy();
861
886
  });
862
887
 
@@ -867,6 +892,8 @@ describe("input", () => {
867
892
  )(scope);
868
893
  scope.maxVal = "2013-01-01T00:00:00";
869
894
  scope.value = "2012-01-01T00:00:00";
895
+ scope.$digest();
896
+
870
897
  expect(scope.form.alias.$error.max).toBeFalsy();
871
898
  expect(scope.form.alias.$valid).toBeTruthy();
872
899
 
@@ -888,9 +915,13 @@ describe("input", () => {
888
915
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
889
916
 
890
917
  scope.max = "2001-01-01T01:02:00";
918
+ scope.$digest();
919
+
891
920
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
892
921
 
893
922
  scope.max = "2024-01-01T01:02:00";
923
+ scope.$digest();
924
+
894
925
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
895
926
  });
896
927
 
@@ -904,9 +935,13 @@ describe("input", () => {
904
935
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
905
936
 
906
937
  scope.min = "2014-01-01T01:02:00";
938
+ scope.$digest();
939
+
907
940
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
908
941
 
909
942
  scope.min = "2009-01-01T01:02:00";
943
+ scope.$digest();
944
+
910
945
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
911
946
  });
912
947
 
@@ -920,9 +955,13 @@ describe("input", () => {
920
955
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
921
956
 
922
957
  scope.max = "2001-01-01T01:02:00";
958
+ scope.$digest();
959
+
923
960
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
924
961
 
925
962
  scope.max = "2024-01-01T01:02:00";
963
+ scope.$digest();
964
+
926
965
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
927
966
  });
928
967
 
@@ -936,9 +975,13 @@ describe("input", () => {
936
975
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
937
976
 
938
977
  scope.min = "2014-01-01T01:02:00";
978
+ scope.$digest();
979
+
939
980
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
940
981
 
941
982
  scope.min = "2009-01-01T01:02:00";
983
+ scope.$digest();
984
+
942
985
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
943
986
  });
944
987
  });
@@ -1086,6 +1129,8 @@ describe("input", () => {
1086
1129
  expect(scope.form.alias.$error.min).toBeFalsy();
1087
1130
 
1088
1131
  scope.minVal = "23:55:00";
1132
+ scope.$digest();
1133
+
1089
1134
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1090
1135
  expect(scope.form.alias.$error.min).toBeTruthy();
1091
1136
  });
@@ -1093,6 +1138,8 @@ describe("input", () => {
1093
1138
  it("should validate if min is empty", () => {
1094
1139
  scope.minVal = undefined;
1095
1140
  scope.value = "23:55:00";
1141
+ scope.$digest();
1142
+
1096
1143
  expect(scope.form.alias.$error.min).toBeFalsy();
1097
1144
  });
1098
1145
  });
@@ -1126,6 +1173,8 @@ describe("input", () => {
1126
1173
  it("should validate if max is empty", () => {
1127
1174
  scope.maxVal = undefined;
1128
1175
  scope.value = "05:30:00";
1176
+ scope.$digest();
1177
+
1129
1178
  expect(scope.form.alias.$error.max).toBeFalsy();
1130
1179
  });
1131
1180
  });
@@ -1141,6 +1190,8 @@ describe("input", () => {
1141
1190
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1142
1191
 
1143
1192
  scope.max = "06:34:00";
1193
+ scope.$digest();
1194
+
1144
1195
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1145
1196
  });
1146
1197
 
@@ -1155,6 +1206,8 @@ describe("input", () => {
1155
1206
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1156
1207
 
1157
1208
  scope.min = "05:50:00";
1209
+ scope.$digest();
1210
+
1158
1211
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1159
1212
  });
1160
1213
 
@@ -1169,6 +1222,8 @@ describe("input", () => {
1169
1222
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1170
1223
 
1171
1224
  scope.max = "06:34:00";
1225
+ scope.$digest();
1226
+
1172
1227
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1173
1228
  });
1174
1229
 
@@ -1183,6 +1238,8 @@ describe("input", () => {
1183
1238
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1184
1239
 
1185
1240
  scope.min = "05:50:00";
1241
+ scope.$digest();
1242
+
1186
1243
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1187
1244
  });
1188
1245
  });
@@ -1297,6 +1354,8 @@ describe("input", () => {
1297
1354
  inputElm = formElm.find("input");
1298
1355
 
1299
1356
  scope.value = "2000-01-01";
1357
+ scope.$digest();
1358
+
1300
1359
  expect(scope.form.alias.$error.min).toBeFalsy();
1301
1360
  });
1302
1361
  });
@@ -1335,6 +1394,8 @@ describe("input", () => {
1335
1394
 
1336
1395
  scope.value = "2020-01-01";
1337
1396
  scope.max = new Date(2014, 10, 10, 0, 0, 0).toISOString();
1397
+ scope.$digest();
1398
+
1338
1399
  expect(scope.form.myControl.$error.max).toBeTruthy();
1339
1400
  });
1340
1401
 
@@ -1344,6 +1405,8 @@ describe("input", () => {
1344
1405
  )(scope);
1345
1406
 
1346
1407
  scope.value = "2020-01-01";
1408
+ scope.$digest();
1409
+
1347
1410
  expect(scope.form.alias.$error.max).toBeFalsy();
1348
1411
  });
1349
1412
  });
@@ -1359,9 +1422,13 @@ describe("input", () => {
1359
1422
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1360
1423
 
1361
1424
  scope.max = "2001-01-01";
1425
+ scope.$digest();
1426
+
1362
1427
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1363
1428
 
1364
1429
  scope.max = "2021-01-01";
1430
+ scope.$digest();
1431
+
1365
1432
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1366
1433
  });
1367
1434
 
@@ -1376,9 +1443,13 @@ describe("input", () => {
1376
1443
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1377
1444
 
1378
1445
  scope.min = "2014-01-01";
1446
+ scope.$digest();
1447
+
1379
1448
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1380
1449
 
1381
1450
  scope.min = "2009-01-01";
1451
+ scope.$digest();
1452
+
1382
1453
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1383
1454
  });
1384
1455
 
@@ -1393,9 +1464,13 @@ describe("input", () => {
1393
1464
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1394
1465
 
1395
1466
  scope.max = "2001-01-01";
1467
+ scope.$digest();
1468
+
1396
1469
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1397
1470
 
1398
1471
  scope.max = "2021-01-01";
1472
+ scope.$digest();
1473
+
1399
1474
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1400
1475
  });
1401
1476
 
@@ -1410,9 +1485,13 @@ describe("input", () => {
1410
1485
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1411
1486
 
1412
1487
  scope.min = "2014-01-01";
1488
+ scope.$digest();
1489
+
1413
1490
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1414
1491
 
1415
1492
  scope.min = "2009-01-01";
1493
+ scope.$digest();
1494
+
1416
1495
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1417
1496
  });
1418
1497
 
@@ -1427,9 +1506,13 @@ describe("input", () => {
1427
1506
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1428
1507
 
1429
1508
  scope.max = new Date(2013, 1, 1, 1, 2, 0);
1509
+ scope.$digest();
1510
+
1430
1511
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1431
1512
 
1432
1513
  scope.max = new Date(2014, 1, 1, 1, 2, 0);
1514
+ scope.$digest();
1515
+
1433
1516
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1434
1517
  });
1435
1518
 
@@ -1444,9 +1527,13 @@ describe("input", () => {
1444
1527
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1445
1528
 
1446
1529
  scope.min = new Date(2014, 1, 1, 1, 2, 0);
1530
+ scope.$digest();
1531
+
1447
1532
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1448
1533
 
1449
1534
  scope.min = new Date(2009, 1, 1, 1, 2, 0);
1535
+ scope.$digest();
1536
+
1450
1537
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1451
1538
  });
1452
1539
 
@@ -1657,6 +1744,7 @@ describe("input", () => {
1657
1744
  scope.value = "one";
1658
1745
  expect(() => {
1659
1746
  $compile('<input type="number" ng-model="value" />')(scope);
1747
+ scope.$digest();
1660
1748
  }).toThrowError(/numfmt/);
1661
1749
  });
1662
1750
 
@@ -1814,18 +1902,23 @@ describe("input", () => {
1814
1902
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1815
1903
 
1816
1904
  scope.min = 10;
1905
+ scope.$digest();
1817
1906
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1818
1907
 
1819
1908
  scope.min = 20;
1909
+ scope.$digest();
1820
1910
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1821
1911
 
1822
1912
  scope.min = null;
1913
+ scope.$digest();
1823
1914
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1824
1915
 
1825
1916
  scope.min = "20";
1917
+ scope.$digest();
1826
1918
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1827
1919
 
1828
1920
  scope.min = "abc";
1921
+ scope.$digest();
1829
1922
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1830
1923
  });
1831
1924
  });
@@ -1886,18 +1979,23 @@ describe("input", () => {
1886
1979
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1887
1980
 
1888
1981
  scope.min = 10;
1982
+ scope.$digest();
1889
1983
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1890
1984
 
1891
1985
  scope.min = 20;
1986
+ scope.$digest();
1892
1987
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1893
1988
 
1894
1989
  scope.min = null;
1990
+ scope.$digest();
1895
1991
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1896
1992
 
1897
1993
  scope.min = "20";
1994
+ scope.$digest();
1898
1995
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1899
1996
 
1900
1997
  scope.min = "abc";
1998
+ scope.$digest();
1901
1999
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1902
2000
  });
1903
2001
  });
@@ -1959,18 +2057,23 @@ describe("input", () => {
1959
2057
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1960
2058
 
1961
2059
  scope.max = 10;
2060
+ scope.$digest();
1962
2061
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1963
2062
 
1964
2063
  scope.max = 0;
2064
+ scope.$digest();
1965
2065
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1966
2066
 
1967
2067
  scope.max = null;
2068
+ scope.$digest();
1968
2069
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1969
2070
 
1970
2071
  scope.max = "4";
2072
+ scope.$digest();
1971
2073
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
1972
2074
 
1973
2075
  scope.max = "abc";
2076
+ scope.$digest();
1974
2077
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
1975
2078
  });
1976
2079
  });
@@ -2032,18 +2135,23 @@ describe("input", () => {
2032
2135
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2033
2136
 
2034
2137
  scope.max = 10;
2138
+ scope.$digest();
2035
2139
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2036
2140
 
2037
2141
  scope.max = 0;
2142
+ scope.$digest();
2038
2143
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
2039
2144
 
2040
2145
  scope.max = null;
2146
+ scope.$digest();
2041
2147
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2042
2148
 
2043
2149
  scope.max = "4";
2150
+ scope.$digest();
2044
2151
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
2045
2152
 
2046
2153
  scope.max = "abc";
2154
+ scope.$digest();
2047
2155
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2048
2156
  });
2049
2157
  });
@@ -2546,6 +2654,7 @@ describe("input", () => {
2546
2654
  expect(() => {
2547
2655
  scope.value = "one";
2548
2656
  inputElm = $compile('<input type="range" ng-model="value" />')(scope);
2657
+ scope.$digest();
2549
2658
  }).toThrowError(/numfmt/);
2550
2659
  });
2551
2660
 
@@ -2557,6 +2666,8 @@ describe("input", () => {
2557
2666
  '<form name="form"><input type="range" ng-model="value" name="alias" min="{{min}}" /></form>',
2558
2667
  )(scope);
2559
2668
  inputElm = formElm.find("input");
2669
+ scope.$digest();
2670
+
2560
2671
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2561
2672
  expect(inputElm.val()).toBe("-3");
2562
2673
  expect(scope.value).toBe(-3);
@@ -2589,6 +2700,8 @@ describe("input", () => {
2589
2700
  inputElm = $compile(
2590
2701
  '<input type="range" ng-model="value" name="alias" min="{{min}}" />',
2591
2702
  )(scope);
2703
+ scope.$digest();
2704
+
2592
2705
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2593
2706
  expect(inputElm.val()).toBe("0");
2594
2707
  expect(scope.value).toBe(0);
@@ -2605,26 +2718,32 @@ describe("input", () => {
2605
2718
  inputElm = $compile(
2606
2719
  '<input type="range" ng-model="value" name="alias" min="{{min}}" />',
2607
2720
  )(scope);
2721
+ scope.$digest();
2722
+
2608
2723
  inputElm[0].value = "15";
2609
2724
  inputElm[0].dispatchEvent(new Event("change"));
2610
2725
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2611
2726
 
2612
2727
  scope.min = 20;
2728
+ scope.$digest();
2613
2729
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2614
2730
  expect(scope.value).toBe(20);
2615
2731
  expect(inputElm.val()).toBe("20");
2616
2732
 
2617
2733
  scope.min = null;
2734
+ scope.$digest();
2618
2735
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2619
2736
  expect(scope.value).toBe(20);
2620
2737
  expect(inputElm.val()).toBe("20");
2621
2738
 
2622
2739
  scope.min = "15";
2740
+ scope.$digest();
2623
2741
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2624
2742
  expect(scope.value).toBe(20);
2625
2743
  expect(inputElm.val()).toBe("20");
2626
2744
 
2627
2745
  scope.min = "abc";
2746
+ scope.$digest();
2628
2747
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2629
2748
  expect(scope.value).toBe(20);
2630
2749
  expect(inputElm.val()).toBe("20");
@@ -2640,6 +2759,7 @@ describe("input", () => {
2640
2759
  '<form name="form"><input type="range" ng-model="value" name="alias" max="{{max}}" /></form>',
2641
2760
  )(scope);
2642
2761
  inputElm = formElm.find("input");
2762
+ scope.$digest();
2643
2763
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2644
2764
  expect(inputElm.val()).toBe("130");
2645
2765
  expect(scope.value).toBe(130);
@@ -2671,6 +2791,7 @@ describe("input", () => {
2671
2791
  inputElm = $compile(
2672
2792
  '<input type="range" ng-model="value" name="alias" max="{{max}}" />',
2673
2793
  )(scope);
2794
+ scope.$digest();
2674
2795
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2675
2796
  expect(inputElm.val()).toBe("100");
2676
2797
  expect(scope.value).toBe(100);
@@ -2687,26 +2808,31 @@ describe("input", () => {
2687
2808
  inputElm = $compile(
2688
2809
  '<input type="range" ng-model="value" name="alias" max="{{max}}" />',
2689
2810
  )(scope);
2811
+ scope.$digest();
2690
2812
  inputElm[0].value = "5";
2691
2813
  inputElm[0].dispatchEvent(new Event("change"));
2692
2814
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2693
2815
 
2694
2816
  scope.max = 0;
2817
+ scope.$digest();
2695
2818
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2696
2819
  expect(scope.value).toBe(0);
2697
2820
  expect(inputElm.val()).toBe("0");
2698
2821
 
2699
2822
  scope.max = null;
2823
+ scope.$digest();
2700
2824
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2701
2825
  expect(scope.value).toBe(0);
2702
2826
  expect(inputElm.val()).toBe("0");
2703
2827
 
2704
2828
  scope.max = "4";
2829
+ scope.$digest();
2705
2830
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2706
2831
  expect(scope.value).toBe(0);
2707
2832
  expect(inputElm.val()).toBe("0");
2708
2833
 
2709
2834
  scope.max = "abc";
2835
+ scope.$digest();
2710
2836
  expect(inputElm[0].classList.contains("ng-valid")).toBeTrue();
2711
2837
  expect(scope.value).toBe(0);
2712
2838
  expect(inputElm.val()).toBe("0");
@@ -2720,6 +2846,8 @@ describe("input", () => {
2720
2846
  inputElm = $compile(
2721
2847
  '<input type="range" ng-model="value" name="alias" max="{{max}}" min="{{min}}" />',
2722
2848
  )(scope);
2849
+ scope.$digest();
2850
+
2723
2851
  expect(inputElm.val()).toBe("60");
2724
2852
  expect(scope.value).toBe(60);
2725
2853
  });
@@ -2729,10 +2857,13 @@ describe("input", () => {
2729
2857
  inputElm = $compile(
2730
2858
  '<input type="range" ng-model="value" name="alias" max="{{max}}" min="{{min}}" />',
2731
2859
  )(scope);
2860
+ scope.$digest();
2732
2861
  expect(inputElm.val()).toBe("70");
2733
2862
  expect(scope.value).toBe(70);
2734
2863
 
2735
2864
  scope.max = 20;
2865
+ scope.$digest();
2866
+
2736
2867
  expect(inputElm.val()).toBe("40");
2737
2868
  expect(scope.value).toBe(40);
2738
2869
  });
@@ -3381,6 +3512,8 @@ describe("input", () => {
3381
3512
  '<input type="checkbox" required name="cb" ng-model="value" ng-true-value="\'yes\'" />' +
3382
3513
  "</form>",
3383
3514
  )(scope);
3515
+ scope.$digest();
3516
+
3384
3517
  inputElm = formElm.find("input");
3385
3518
 
3386
3519
  expect(inputElm[0].classList.contains("ng-invalid")).toBeTrue();
@@ -3505,6 +3638,7 @@ describe("input", () => {
3505
3638
  '<input type="radio" ng-model="selected" ng-value="\'\'">' +
3506
3639
  '<input type="radio" ng-model="selected" ng-value="0">',
3507
3640
  )(scope);
3641
+ scope.$digest();
3508
3642
  expect(inputElm[0].checked).toBe(true);
3509
3643
  expect(inputElm[1].checked).toBe(false);
3510
3644
  expect(inputElm[2].checked).toBe(false);
@@ -3540,6 +3674,8 @@ describe("input", () => {
3540
3674
  scope.selected = 1;
3541
3675
  });
3542
3676
 
3677
+ scope.$digest();
3678
+
3543
3679
  expect(inputElm[0].children[0].checked).toBe(true);
3544
3680
  expect(inputElm[0].children[1].checked).toBe(false);
3545
3681