chrono-node 2.9.2 → 2.10.0

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 (142) hide show
  1. package/dist/cjs/results.js +15 -9
  2. package/dist/cjs/results.js.map +1 -1
  3. package/dist/esm/results.js +14 -9
  4. package/dist/esm/results.js.map +1 -1
  5. package/package.json +5 -1
  6. package/src/results.ts +40 -9
  7. package/test/calculation_duration.test.ts +0 -165
  8. package/test/calculation_weekdays.test.ts +0 -133
  9. package/test/de/de_casual.test.ts +0 -336
  10. package/test/de/de_dash.test.ts +0 -32
  11. package/test/de/de_month_name_little_endian.test.ts +0 -273
  12. package/test/de/de_time_exp.test.ts +0 -223
  13. package/test/de/de_time_units_casual_relative.test.ts +0 -120
  14. package/test/de/de_time_units_within.test.ts +0 -119
  15. package/test/de/de_weekday.test.ts +0 -158
  16. package/test/de/de_year.test.ts +0 -147
  17. package/test/debugging.test.ts +0 -17
  18. package/test/en/en.test.ts +0 -191
  19. package/test/en/en_casual.test.ts +0 -425
  20. package/test/en/en_inter_std.test.ts +0 -118
  21. package/test/en/en_merging_relative_dates.test.ts +0 -50
  22. package/test/en/en_month.test.ts +0 -339
  23. package/test/en/en_month_name_little_endian.test.ts +0 -448
  24. package/test/en/en_month_name_middle_endian.test.ts +0 -386
  25. package/test/en/en_performance.test.ts +0 -26
  26. package/test/en/en_relative.test.ts +0 -393
  27. package/test/en/en_slash.test.ts +0 -284
  28. package/test/en/en_time_exp.test.ts +0 -535
  29. package/test/en/en_time_units_ago.test.ts +0 -357
  30. package/test/en/en_time_units_casual_relative.test.ts +0 -186
  31. package/test/en/en_time_units_later.test.ts +0 -361
  32. package/test/en/en_time_units_within.test.ts +0 -417
  33. package/test/en/en_timezone_exp.test.ts +0 -410
  34. package/test/en/en_weekday.test.ts +0 -573
  35. package/test/en/en_year.test.ts +0 -138
  36. package/test/en/en_year_month_day.test.ts +0 -101
  37. package/test/en/negative_cases.test.ts +0 -99
  38. package/test/es/es_casual.test.ts +0 -175
  39. package/test/es/es_month_name_little_endian.test.ts +0 -217
  40. package/test/es/es_slash.test.ts +0 -26
  41. package/test/es/es_time_exp.test.ts +0 -175
  42. package/test/es/es_time_units_within.test.ts +0 -119
  43. package/test/fi/fi_casual.test.ts +0 -99
  44. package/test/fi/fi_casual_time.test.ts +0 -56
  45. package/test/fi/fi_month_name_little_endian.test.ts +0 -50
  46. package/test/fi/fi_time_exp.test.ts +0 -39
  47. package/test/fi/fi_time_units_ago.test.ts +0 -93
  48. package/test/fi/fi_time_units_casual_relative.test.ts +0 -117
  49. package/test/fi/fi_time_units_within.test.ts +0 -74
  50. package/test/fi/fi_weekday.test.ts +0 -90
  51. package/test/fr/fr_casual.test.ts +0 -314
  52. package/test/fr/fr_little_endian.test.ts +0 -320
  53. package/test/fr/fr_slash.test.ts +0 -49
  54. package/test/fr/fr_time_exp.test.ts +0 -588
  55. package/test/fr/fr_time_units_ago.test.ts +0 -103
  56. package/test/fr/fr_time_units_casual_relative.test.ts +0 -114
  57. package/test/fr/fr_time_units_within.test.ts +0 -129
  58. package/test/fr/fr_weekday.test.ts +0 -130
  59. package/test/it/it_casual.test.ts +0 -81
  60. package/test/it/it_month_name_little_endian.test.ts +0 -28
  61. package/test/it/it_month_name_middle_endian.test.ts +0 -39
  62. package/test/it/it_time_exp.test.ts +0 -84
  63. package/test/it/it_weekday.test.ts +0 -37
  64. package/test/it/it_year_month_day.test.ts +0 -41
  65. package/test/ja/ja_casual.test.ts +0 -73
  66. package/test/ja/ja_slash_date_format.test.ts +0 -60
  67. package/test/ja/ja_standard.test.ts +0 -235
  68. package/test/ja/ja_time_exp.test.ts +0 -305
  69. package/test/ja/ja_weekday.test.ts +0 -183
  70. package/test/nl/nl_casual.test.ts +0 -408
  71. package/test/nl/nl_month.test.ts +0 -205
  72. package/test/nl/nl_month_name_little_endian.test.ts +0 -358
  73. package/test/nl/nl_relative.test.ts +0 -242
  74. package/test/nl/nl_slash.test.ts +0 -206
  75. package/test/nl/nl_time_exp.test.ts +0 -79
  76. package/test/nl/nl_time_units_ago.test.ts +0 -243
  77. package/test/nl/nl_time_units_casual_relative.test.ts +0 -130
  78. package/test/nl/nl_time_units_later.test.ts +0 -250
  79. package/test/nl/nl_time_units_within.test.ts +0 -225
  80. package/test/nl/nl_weekday.test.ts +0 -216
  81. package/test/pt/pt_casual.test.ts +0 -175
  82. package/test/pt/pt_month_name_little_endian.test.ts +0 -217
  83. package/test/pt/pt_slash.test.ts +0 -26
  84. package/test/pt/pt_time_exp.test.ts +0 -175
  85. package/test/result.test.ts +0 -283
  86. package/test/ru/ru_casual.test.ts +0 -159
  87. package/test/ru/ru_month.test.ts +0 -70
  88. package/test/ru/ru_month_name_little_endian.test.ts +0 -145
  89. package/test/ru/ru_relative.test.ts +0 -107
  90. package/test/ru/ru_time_exp.test.ts +0 -111
  91. package/test/ru/ru_time_units_ago.test.ts +0 -48
  92. package/test/ru/ru_time_units_casual_relative.test.ts +0 -190
  93. package/test/ru/ru_time_units_within.test.ts +0 -16
  94. package/test/ru/ru_weekday.test.ts +0 -52
  95. package/test/sv/sv_casual.test.ts +0 -87
  96. package/test/sv/sv_month_name_little_endian.test.ts +0 -48
  97. package/test/sv/sv_time_units_casual_relative.test.ts +0 -143
  98. package/test/sv/sv_weekday.test.ts +0 -68
  99. package/test/system.test.ts +0 -247
  100. package/test/system_timezone.test.ts +0 -284
  101. package/test/test_util.ts +0 -135
  102. package/test/uk/uk_casual.test.ts +0 -153
  103. package/test/uk/uk_month.test.ts +0 -70
  104. package/test/uk/uk_month_name_little_endian.test.ts +0 -148
  105. package/test/uk/uk_relative.test.ts +0 -107
  106. package/test/uk/uk_time_exp.test.ts +0 -111
  107. package/test/uk/uk_time_units_ago.test.ts +0 -48
  108. package/test/uk/uk_time_units_casual_relative.test.ts +0 -142
  109. package/test/uk/uk_time_units_within.test.ts +0 -23
  110. package/test/uk/uk_weekday.test.ts +0 -52
  111. package/test/vi/vi_casual.test.ts +0 -84
  112. package/test/vi/vi_casual_time.test.ts +0 -77
  113. package/test/vi/vi_date_range.test.ts +0 -61
  114. package/test/vi/vi_forward_date.test.ts +0 -45
  115. package/test/vi/vi_month_year.test.ts +0 -40
  116. package/test/vi/vi_negative_cases.test.ts +0 -60
  117. package/test/vi/vi_slash.test.ts +0 -36
  118. package/test/vi/vi_standard.test.ts +0 -86
  119. package/test/vi/vi_strict.test.ts +0 -67
  120. package/test/vi/vi_time_exp.test.ts +0 -99
  121. package/test/vi/vi_time_units_ago.test.ts +0 -56
  122. package/test/vi/vi_time_units_casual_relative.test.ts +0 -56
  123. package/test/vi/vi_time_units_later.test.ts +0 -43
  124. package/test/vi/vi_time_units_within.test.ts +0 -24
  125. package/test/vi/vi_weekday.test.ts +0 -77
  126. package/test/vi/vi_year.test.ts +0 -42
  127. package/test/zh/hans/zh_hans_ago.test.ts +0 -58
  128. package/test/zh/hans/zh_hans_casual.test.ts +0 -242
  129. package/test/zh/hans/zh_hans_date.test.ts +0 -116
  130. package/test/zh/hans/zh_hans_deadline.test.ts +0 -175
  131. package/test/zh/hans/zh_hans_time_exp.test.ts +0 -508
  132. package/test/zh/hans/zh_hans_weekday.test.ts +0 -219
  133. package/test/zh/hant/zh_hant_ago.test.ts +0 -58
  134. package/test/zh/hant/zh_hant_casual.test.ts +0 -260
  135. package/test/zh/hant/zh_hant_date.test.ts +0 -116
  136. package/test/zh/hant/zh_hant_deadline.test.ts +0 -136
  137. package/test/zh/hant/zh_hant_time_exp.test.ts +0 -226
  138. package/test/zh/hant/zh_hant_weekday.test.ts +0 -175
  139. package/test/zh/zh.test.ts +0 -36
  140. package/tsconfig.build.esm.json +0 -8
  141. package/tsconfig.build.json +0 -10
  142. package/tsconfig.json +0 -29
@@ -1,219 +0,0 @@
1
- import * as chrono from "../../../src";
2
- import { testSingleCase } from "../../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.zh.hans, "星期四", new Date(2016, 9 - 1, 2), (result) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe("星期四");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("year")).toBe(2016);
11
- expect(result.start.get("month")).toBe(9);
12
- expect(result.start.get("day")).toBe(1);
13
- expect(result.start.get("weekday")).toBe(4);
14
-
15
- expect(result.start.isCertain("day")).toBe(false);
16
- expect(result.start.isCertain("month")).toBe(false);
17
- expect(result.start.isCertain("year")).toBe(false);
18
- expect(result.start.isCertain("weekday")).toBe(true);
19
-
20
- const resultDate = result.start.date();
21
- const expectDate = new Date(2016, 9 - 1, 1, 12);
22
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
23
- });
24
-
25
- testSingleCase(chrono.zh.hans, "我周一要打游戏", new Date(2012, 7, 10), (result) => {
26
- expect(result.index).toBe(1);
27
- expect(result.text).toBe("周一");
28
-
29
- expect(result.start).not.toBeNull();
30
- expect(result.start.get("year")).toBe(2012);
31
- expect(result.start.get("month")).toBe(8);
32
- expect(result.start.get("day")).toBe(13);
33
- expect(result.start.get("weekday")).toBe(1);
34
-
35
- const resultDate = result.start.date();
36
- const expectDate = new Date(2012, 7, 13, 12);
37
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
38
- });
39
-
40
- testSingleCase(
41
- chrono.zh.hans,
42
- "礼拜四 (forward dates only)",
43
- new Date(2016, 9 - 1, 2),
44
- { forwardDate: true },
45
- (result) => {
46
- expect(result.index).toBe(0);
47
- expect(result.text).toBe("礼拜四");
48
-
49
- expect(result.start).not.toBeNull();
50
- expect(result.start.get("year")).toBe(2016);
51
- expect(result.start.get("month")).toBe(9);
52
- expect(result.start.get("day")).toBe(8);
53
- expect(result.start.get("weekday")).toBe(4);
54
-
55
- expect(result.start.isCertain("day")).toBe(false);
56
- expect(result.start.isCertain("month")).toBe(false);
57
- expect(result.start.isCertain("year")).toBe(false);
58
- expect(result.start.isCertain("weekday")).toBe(true);
59
-
60
- const resultDate = result.start.date();
61
- const expectDate = new Date(2016, 9 - 1, 8, 12);
62
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
63
- }
64
- );
65
-
66
- testSingleCase(chrono.zh.hans, "礼拜日", new Date(2016, 9 - 1, 2), (result) => {
67
- expect(result.index).toBe(0);
68
- expect(result.text).toBe("礼拜日");
69
-
70
- expect(result.start).not.toBeNull();
71
- expect(result.start.get("year")).toBe(2016);
72
- expect(result.start.get("month")).toBe(9);
73
- expect(result.start.get("day")).toBe(4);
74
- expect(result.start.get("weekday")).toBe(0);
75
-
76
- const resultDate = result.start.date();
77
- const expectDate = new Date(2016, 9 - 1, 4, 12);
78
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
79
- });
80
-
81
- testSingleCase(chrono.zh.hans, "我上个礼拜三在打游戏", new Date(2016, 9 - 1, 2), (result) => {
82
- expect(result.index).toBe(1);
83
- expect(result.text).toBe("上个礼拜三");
84
-
85
- expect(result.start).not.toBeNull();
86
- expect(result.start.get("year")).toBe(2016);
87
- expect(result.start.get("month")).toBe(8);
88
- expect(result.start.get("day")).toBe(24);
89
- expect(result.start.get("weekday")).toBe(3);
90
-
91
- const resultDate = result.start.date();
92
- const expectDate = new Date(2016, 8 - 1, 24, 12);
93
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
94
- });
95
-
96
- testSingleCase(chrono.zh.hans, "我下星期天打游戏", new Date(2016, 9 - 1, 2), (result) => {
97
- expect(result.index).toBe(1);
98
- expect(result.text).toBe("下星期天");
99
-
100
- expect(result.start).not.toBeNull();
101
- expect(result.start.get("year")).toBe(2016);
102
- expect(result.start.get("month")).toBe(9);
103
- expect(result.start.get("day")).toBe(4);
104
- expect(result.start.get("weekday")).toBe(0);
105
-
106
- const resultDate = result.start.date();
107
- const expectDate = new Date(2016, 9 - 1, 4, 12);
108
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
109
- });
110
- });
111
-
112
- test("Test - 'this' week", function () {
113
- testSingleCase(chrono.zh.hans, "我这个星期一要打游戏", new Date(2012, 7, 10), (result) => {
114
- expect(result.index).toBe(1);
115
- expect(result.text).toBe("这个星期一");
116
-
117
- expect(result.start).not.toBeNull();
118
- expect(result.start.get("year")).toBe(2012);
119
- expect(result.start.get("month")).toBe(8);
120
- expect(result.start.get("day")).toBe(6);
121
- expect(result.start.get("weekday")).toBe(1);
122
-
123
- const resultDate = result.start.date();
124
- const expectDate = new Date(2012, 7, 6, 12);
125
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
126
- });
127
-
128
- testSingleCase(chrono.zh.hans, "星期一", new Date(2012, 7, 10), (result) => {
129
- expect(result.start.get("year")).toBe(2012);
130
- expect(result.start.get("month")).toBe(8);
131
- expect(result.start.get("day")).toBe(13);
132
- expect(result.start.get("weekday")).toBe(1);
133
-
134
- const resultDate = result.start.date();
135
- const expectDate = new Date(2012, 8 - 1, 13, 12);
136
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
137
- });
138
- });
139
-
140
- test("Test - Range with different separators", function () {
141
- const text = "星期六至星期一";
142
- testSingleCase(chrono.zh.hans, text, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
143
- expect(result.text).toBe(text);
144
- expect(result.start.get("day")).toBe(3);
145
- expect(result.end.get("day")).toBe(5);
146
- });
147
-
148
- const text2 = "星期六到星期一";
149
- testSingleCase(chrono.zh.hans, text2, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
150
- expect(result.text).toBe(text2);
151
- expect(result.start.get("day")).toBe(3);
152
- expect(result.end.get("day")).toBe(5);
153
- });
154
-
155
- const text3 = "星期六~星期一";
156
- testSingleCase(chrono.zh.hans, text3, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
157
- expect(result.text).toBe(text3);
158
- expect(result.start.get("day")).toBe(3);
159
- expect(result.end.get("day")).toBe(5);
160
- });
161
-
162
- const text4 = "星期六~星期一";
163
- testSingleCase(chrono.zh.hans, text4, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
164
- expect(result.text).toBe(text4);
165
- expect(result.start.get("day")).toBe(3);
166
- expect(result.end.get("day")).toBe(5);
167
- });
168
-
169
- const text5 = "星期六-星期一";
170
- testSingleCase(chrono.zh.hans, text5, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
171
- expect(result.text).toBe(text5);
172
- expect(result.start.get("day")).toBe(3);
173
- expect(result.end.get("day")).toBe(5);
174
- });
175
-
176
- const text6 = "星期六ー星期一";
177
- testSingleCase(chrono.zh.hans, text6, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
178
- expect(result.text).toBe(text6);
179
- expect(result.start.get("day")).toBe(3);
180
- expect(result.end.get("day")).toBe(5);
181
- });
182
- });
183
-
184
- test("Test - forward dates only option", function () {
185
- testSingleCase(chrono.zh.hans, "星期六-星期一", new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
186
- expect(result.index).toBe(0);
187
- expect(result.text).toBe("星期六-星期一");
188
-
189
- expect(result.start).not.toBeNull();
190
- expect(result.start.get("year")).toBe(2016);
191
- expect(result.start.get("month")).toBe(9);
192
- expect(result.start.get("day")).toBe(3);
193
- expect(result.start.get("weekday")).toBe(6);
194
-
195
- expect(result.start.isCertain("day")).toBe(false);
196
- expect(result.start.isCertain("month")).toBe(false);
197
- expect(result.start.isCertain("year")).toBe(false);
198
- expect(result.start.isCertain("weekday")).toBe(true);
199
-
200
- let resultDate = result.start.date();
201
- let expectDate = new Date(2016, 9 - 1, 3, 12);
202
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
203
-
204
- expect(result.end).not.toBeNull();
205
- expect(result.end.get("year")).toBe(2016);
206
- expect(result.end.get("month")).toBe(9);
207
- expect(result.end.get("day")).toBe(5);
208
- expect(result.end.get("weekday")).toBe(1);
209
-
210
- expect(result.end.isCertain("day")).toBe(false);
211
- expect(result.end.isCertain("month")).toBe(false);
212
- expect(result.end.isCertain("year")).toBe(false);
213
- expect(result.end.isCertain("weekday")).toBe(true);
214
-
215
- resultDate = result.end.date();
216
- expectDate = new Date(2016, 9 - 1, 5, 12);
217
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
218
- });
219
- });
@@ -1,58 +0,0 @@
1
- import * as chrono from "../../../src";
2
- import { testSingleCase } from "../../test_util";
3
-
4
- test("Test - Traditional Chinese Ago Expression", function () {
5
- testSingleCase(chrono.zh.hant, "1小時前", new Date(2012, 7, 10, 12, 14), (result) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe("1小時前");
8
-
9
- const resultDate = result.start.date();
10
- const expectDate = new Date(2012, 7, 10, 11, 14);
11
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
12
- });
13
-
14
- testSingleCase(chrono.zh.hant, "1小時之前出門了", new Date(2012, 7, 10, 12, 14), (result) => {
15
- expect(result.index).toBe(0);
16
- expect(result.text).toBe("1小時之前");
17
-
18
- const resultDate = result.start.date();
19
- const expectDate = new Date(2012, 7, 10, 11, 14);
20
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
21
- });
22
-
23
- testSingleCase(chrono.zh.hant, "五分鐘前", new Date(2012, 7, 10, 12, 14), (result) => {
24
- expect(result.index).toBe(0);
25
- expect(result.text).toBe("五分鐘前");
26
-
27
- const resultDate = result.start.date();
28
- const expectDate = new Date(2012, 7, 10, 12, 9);
29
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
30
- });
31
-
32
- testSingleCase(chrono.zh.hant, "3天前", new Date(2012, 7, 10, 12, 14), (result) => {
33
- expect(result.index).toBe(0);
34
- expect(result.text).toBe("3天前");
35
-
36
- const resultDate = result.start.date();
37
- const expectDate = new Date(2012, 7, 7, 12);
38
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
39
- });
40
-
41
- testSingleCase(chrono.zh.hant, "2禮拜前", new Date(2012, 7, 10, 12, 14), (result) => {
42
- expect(result.index).toBe(0);
43
- expect(result.text).toBe("2禮拜前");
44
-
45
- const resultDate = result.start.date();
46
- const expectDate = new Date(2012, 6, 27, 12);
47
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
48
- });
49
-
50
- testSingleCase(chrono.zh.hant, "半小時前", new Date(2012, 7, 10, 12, 14), (result) => {
51
- expect(result.index).toBe(0);
52
- expect(result.text).toBe("半小時前");
53
-
54
- const resultDate = result.start.date();
55
- const expectDate = new Date(2012, 7, 10, 11, 44);
56
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
57
- });
58
- });
@@ -1,260 +0,0 @@
1
- import * as chrono from "../../../src";
2
- import { testSingleCase } from "../../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.zh.hant, "雞而家全部都係雞", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
6
- expect(result.index).toBe(1);
7
- expect(result.text).toBe("而家");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("year")).toBe(2012);
11
- expect(result.start.get("month")).toBe(8);
12
- expect(result.start.get("day")).toBe(10);
13
- expect(result.start.get("hour")).toBe(8);
14
- expect(result.start.get("minute")).toBe(9);
15
- expect(result.start.get("second")).toBe(10);
16
- expect(result.start.get("millisecond")).toBe(11);
17
-
18
- const resultDate = result.start.date();
19
- const expectDate = new Date(2012, 7, 10, 8, 9, 10, 11);
20
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
21
- });
22
-
23
- testSingleCase(chrono.zh.hant, "雞今日全部都係雞", new Date(2012, 7, 10, 12), (result) => {
24
- expect(result.index).toBe(1);
25
- expect(result.text).toBe("今日");
26
-
27
- expect(result.start).not.toBeNull();
28
- expect(result.start.get("year")).toBe(2012);
29
- expect(result.start.get("month")).toBe(8);
30
- expect(result.start.get("day")).toBe(10);
31
-
32
- const resultDate = result.start.date();
33
- const expectDate = new Date(2012, 7, 10, 12);
34
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
35
- });
36
-
37
- testSingleCase(chrono.zh.hant, "雞聽日全部都係雞", new Date(2012, 7, 10, 12), (result) => {
38
- expect(result.index).toBe(1);
39
- expect(result.text).toBe("聽日");
40
-
41
- expect(result.start).not.toBeNull();
42
- expect(result.start.get("year")).toBe(2012);
43
- expect(result.start.get("month")).toBe(8);
44
- expect(result.start.get("day")).toBe(11);
45
-
46
- const resultDate = result.start.date();
47
- const expectDate = new Date(2012, 7, 11, 12);
48
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
49
- });
50
-
51
- testSingleCase(chrono.zh.hant, "雞明天全部都係雞", new Date(2012, 7, 10, 1), (result) => {
52
- // Say.."Tomorrow" in the late night (1 AM)
53
- const resultDate = result.start.date();
54
- const expectDate = new Date(2012, 7, 10, 12);
55
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
56
- });
57
-
58
- testSingleCase(chrono.zh.hant, "雞後天凌晨全部都係雞", new Date(2012, 7, 10, 0, 0), (result) => {
59
- const resultDate = result.start.date();
60
- const expectDate = new Date(2012, 7, 12, 0, 0);
61
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
62
- });
63
-
64
- testSingleCase(chrono.zh.hant, "雞大前天凌晨全部都係雞", new Date(2012, 7, 10, 0, 0), (result) => {
65
- const resultDate = result.start.date();
66
- const expectDate = new Date(2012, 7, 7, 0, 0);
67
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
68
- });
69
-
70
- testSingleCase(chrono.zh.hant, "雞前日全部都係雞", new Date(2012, 7, 10, 12), (result) => {
71
- expect(result.index).toBe(1);
72
- expect(result.text).toBe("前日");
73
-
74
- expect(result.start).not.toBeNull();
75
- expect(result.start.get("year")).toBe(2012);
76
- expect(result.start.get("month")).toBe(8);
77
- expect(result.start.get("day")).toBe(8);
78
-
79
- const resultDate = result.start.date();
80
- const expectDate = new Date(2012, 7, 8, 12);
81
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
82
- });
83
-
84
- testSingleCase(chrono.zh.hant, "雞琴日全部都係雞", new Date(2012, 7, 10, 12), (result) => {
85
- expect(result.index).toBe(1);
86
- expect(result.text).toBe("琴日");
87
-
88
- expect(result.start).not.toBeNull();
89
- expect(result.start.get("year")).toBe(2012);
90
- expect(result.start.get("month")).toBe(8);
91
- expect(result.start.get("day")).toBe(9);
92
-
93
- const resultDate = result.start.date();
94
- const expectDate = new Date(2012, 7, 9, 12);
95
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
96
- });
97
-
98
- testSingleCase(chrono.zh.hant, "雞昨天晚上全部都係雞", new Date(2012, 7, 10, 12), (result) => {
99
- expect(result.index).toBe(1);
100
- expect(result.text).toBe("昨天晚上");
101
-
102
- expect(result.start).not.toBeNull();
103
- expect(result.start.get("year")).toBe(2012);
104
- expect(result.start.get("month")).toBe(8);
105
- expect(result.start.get("day")).toBe(9);
106
- expect(result.start.get("hour")).toBe(22);
107
-
108
- const resultDate = result.start.date();
109
- const expectDate = new Date(2012, 7, 9, 22);
110
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
111
- });
112
-
113
- testSingleCase(chrono.zh.hant, "雞今日朝早全部都係雞", new Date(2012, 7, 10, 12), (result) => {
114
- expect(result.index).toBe(1);
115
- expect(result.text).toBe("今日朝早");
116
-
117
- expect(result.start).not.toBeNull();
118
- expect(result.start.get("year")).toBe(2012);
119
- expect(result.start.get("month")).toBe(8);
120
- expect(result.start.get("day")).toBe(10);
121
- expect(result.start.get("hour")).toBe(6);
122
-
123
- const resultDate = result.start.date();
124
- const expectDate = new Date(2012, 7, 10, 6);
125
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
126
- });
127
-
128
- testSingleCase(chrono.zh.hant, "雞晏晝全部都係雞", new Date(2012, 7, 10, 12), (result) => {
129
- expect(result.index).toBe(1);
130
- expect(result.text).toBe("晏晝");
131
-
132
- expect(result.start).not.toBeNull();
133
- expect(result.start.get("year")).toBe(2012);
134
- expect(result.start.get("month")).toBe(8);
135
- expect(result.start.get("day")).toBe(10);
136
- expect(result.start.get("hour")).toBe(15);
137
-
138
- const resultDate = result.start.date();
139
- const expectDate = new Date(2012, 7, 10, 15);
140
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
141
- });
142
-
143
- testSingleCase(chrono.zh.hant, "雞今晚全部都係雞", new Date(2012, 7, 10, 12), (result) => {
144
- expect(result.index).toBe(1);
145
- expect(result.text).toBe("今晚");
146
-
147
- expect(result.start).not.toBeNull();
148
- expect(result.start.get("year")).toBe(2012);
149
- expect(result.start.get("month")).toBe(8);
150
- expect(result.start.get("day")).toBe(10);
151
- expect(result.start.get("hour")).toBe(22);
152
-
153
- const resultDate = result.start.date();
154
- const expectDate = new Date(2012, 7, 10, 22);
155
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
156
- });
157
- });
158
-
159
- test("Test - Combined Expression", function () {
160
- testSingleCase(chrono.zh.hant, "雞今日晏晝5點全部都係雞", new Date(2012, 7, 10, 12), (result) => {
161
- expect(result.index).toBe(1);
162
- expect(result.text).toBe("今日晏晝5點");
163
-
164
- expect(result.start).not.toBeNull();
165
- expect(result.start.get("year")).toBe(2012);
166
- expect(result.start.get("month")).toBe(8);
167
- expect(result.start.get("day")).toBe(10);
168
- expect(result.start.get("hour")).toBe(17);
169
-
170
- const resultDate = result.start.date();
171
- const expectDate = new Date(2012, 7, 10, 17);
172
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
173
- });
174
- });
175
-
176
- test("Test - Casual date range", function () {
177
- testSingleCase(chrono.zh.hant, "雞今日 - 下禮拜五全部都係雞", new Date(2012, 7, 4, 12), (result) => {
178
- expect(result.index).toBe(1);
179
- expect(result.text).toBe("今日 - 下禮拜五");
180
-
181
- expect(result.start).not.toBeNull();
182
- expect(result.start.get("year")).toBe(2012);
183
- expect(result.start.get("month")).toBe(8);
184
- expect(result.start.get("day")).toBe(4);
185
- expect(result.start.get("hour")).toBe(12);
186
-
187
- const resultStartDate = result.start.date();
188
- const expectStartDate = new Date(2012, 7, 4, 12);
189
- expect(resultStartDate.getTime()).toBeCloseTo(expectStartDate.getTime());
190
-
191
- expect(result.end).not.toBeNull();
192
- expect(result.end.get("year")).toBe(2012);
193
- expect(result.end.get("month")).toBe(8);
194
- expect(result.end.get("day")).toBe(10);
195
- expect(result.end.get("hour")).toBe(12);
196
-
197
- const resultEndDate = result.end.date();
198
- const expectEndDate = new Date(2012, 7, 10, 12);
199
- expect(expectEndDate.getTime()).toBeCloseTo(resultEndDate.getTime());
200
- });
201
-
202
- testSingleCase(chrono.zh.hant, "雞今日 - 下禮拜五全部都係雞", new Date(2012, 7, 10, 12), (result) => {
203
- expect(result.index).toBe(1);
204
- expect(result.text).toBe("今日 - 下禮拜五");
205
-
206
- expect(result.start).not.toBeNull();
207
- expect(result.start.get("year")).toBe(2012);
208
- expect(result.start.get("month")).toBe(8);
209
- expect(result.start.get("day")).toBe(10);
210
- expect(result.start.get("hour")).toBe(12);
211
-
212
- const resultStartDate = result.start.date();
213
- const expectStartDate = new Date(2012, 7, 10, 12);
214
- expect(expectStartDate.getTime()).toBeCloseTo(resultStartDate.getTime());
215
-
216
- expect(result.end).not.toBeNull();
217
- expect(result.end.get("year")).toBe(2012);
218
- expect(result.end.get("month")).toBe(8);
219
- expect(result.end.get("day")).toBe(17);
220
- expect(result.end.get("hour")).toBe(12);
221
-
222
- const resultEndDate = result.end.date();
223
- const expectEndDate = new Date(2012, 7, 17, 12);
224
- expect(expectEndDate.getTime()).toBeCloseTo(resultEndDate.getTime());
225
- });
226
- });
227
-
228
- test("Test - Random text", function () {
229
- testSingleCase(chrono.zh.hant, "今日夜晚", new Date(2012, 1 - 1, 1, 12), (result) => {
230
- expect(result.text).toBe("今日夜晚");
231
- expect(result.start.get("year")).toBe(2012);
232
- expect(result.start.get("month")).toBe(1);
233
- expect(result.start.get("day")).toBe(1);
234
- expect(result.start.get("hour")).toBe(22);
235
- expect(result.start.get("meridiem")).toBe(1);
236
- });
237
-
238
- testSingleCase(chrono.zh.hant, "今晚8點正", new Date(2012, 1 - 1, 1, 12), (result) => {
239
- expect(result.text).toBe("今晚8點正");
240
- expect(result.start.get("hour")).toBe(20);
241
- expect(result.start.get("year")).toBe(2012);
242
- expect(result.start.get("month")).toBe(1);
243
- expect(result.start.get("day")).toBe(1);
244
- expect(result.start.get("meridiem")).toBe(1);
245
- });
246
-
247
- testSingleCase(chrono.zh.hant, "晚上8點", new Date(2012, 1 - 1, 1, 12), (result) => {
248
- expect(result.text).toBe("晚上8點");
249
- expect(result.start.get("hour")).toBe(20);
250
- expect(result.start.get("year")).toBe(2012);
251
- expect(result.start.get("month")).toBe(1);
252
- expect(result.start.get("day")).toBe(1);
253
- expect(result.start.get("meridiem")).toBe(1);
254
- });
255
-
256
- testSingleCase(chrono.zh.hant, "星期四", new Date(), (result) => {
257
- expect(result.text).toBe("星期四");
258
- expect(result.start.get("weekday")).toBe(4);
259
- });
260
- });
@@ -1,116 +0,0 @@
1
- import * as chrono from "../../../src";
2
- import { testSingleCase } from "../../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.zh.hant, "雞2016年9月3號全部都係雞", new Date(2012, 8 - 1, 10), (result) => {
6
- expect(result.index).toBe(1);
7
- expect(result.text).toBe("2016年9月3號");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("year")).toBe(2016);
11
- expect(result.start.get("month")).toBe(9);
12
- expect(result.start.get("day")).toBe(3);
13
-
14
- const resultDate = result.start.date();
15
- const expectDate = new Date(2016, 9 - 1, 3, 12);
16
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
17
- });
18
-
19
- testSingleCase(chrono.zh.hant, "雞二零一六年,九月三號全部都係雞", new Date(2012, 8 - 1, 10), (result) => {
20
- expect(result.index).toBe(1);
21
- expect(result.text).toBe("二零一六年,九月三號");
22
-
23
- expect(result.start).not.toBeNull();
24
- expect(result.start.get("year")).toBe(2016);
25
- expect(result.start.get("month")).toBe(9);
26
- expect(result.start.get("day")).toBe(3);
27
-
28
- const resultDate = result.start.date();
29
- const expectDate = new Date(2016, 9 - 1, 3, 12);
30
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
31
- });
32
-
33
- testSingleCase(chrono.zh.hant, "雞九月三號全部都係雞", new Date(2014, 8 - 1, 10), (result) => {
34
- expect(result.index).toBe(1);
35
- expect(result.text).toBe("九月三號");
36
-
37
- expect(result.start).not.toBeNull();
38
- expect(result.start.get("year")).toBe(2014);
39
- expect(result.start.get("month")).toBe(9);
40
- expect(result.start.get("day")).toBe(3);
41
-
42
- const resultDate = result.start.date();
43
- const expectDate = new Date(2014, 9 - 1, 3, 12);
44
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
45
- });
46
-
47
- testSingleCase(chrono.zh.hant, "2016年09月03日", new Date(2012, 8 - 1, 10), (result) => {
48
- expect(result.index).toBe(0);
49
- expect(result.text).toBe("2016年09月03日");
50
-
51
- expect(result.start).not.toBeNull();
52
- expect(result.start.get("year")).toBe(2016);
53
- expect(result.start.get("month")).toBe(9);
54
- expect(result.start.get("day")).toBe(3);
55
-
56
- const resultDate = result.start.date();
57
- const expectDate = new Date(2016, 9 - 1, 3, 12);
58
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
59
- });
60
- });
61
-
62
- test("Test - Range Expression", function () {
63
- testSingleCase(chrono.zh.hant, "2016年9月3號-2017年10月24號", new Date(2012, 8 - 1, 10), (result) => {
64
- expect(result.index).toBe(0);
65
- expect(result.text).toBe("2016年9月3號-2017年10月24號");
66
-
67
- expect(result.start).not.toBeNull();
68
- expect(result.start.get("year")).toBe(2016);
69
- expect(result.start.get("month")).toBe(9);
70
- expect(result.start.get("day")).toBe(3);
71
-
72
- {
73
- const resultDate = result.start.date();
74
- const expectDate = new Date(2016, 9 - 1, 3, 12);
75
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
76
- }
77
-
78
- expect(result.end).not.toBeNull();
79
- expect(result.end.get("year")).toBe(2017);
80
- expect(result.end.get("month")).toBe(10);
81
- expect(result.end.get("day")).toBe(24);
82
-
83
- {
84
- const resultDate = result.end.date();
85
- const expectDate = new Date(2017, 10 - 1, 24, 12);
86
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
87
- }
88
- });
89
-
90
- testSingleCase(chrono.zh.hant, "二零一六年九月三號ー2017年10月24號", new Date(2012, 8 - 1, 10), (result) => {
91
- expect(result.index).toBe(0);
92
- expect(result.text).toBe("二零一六年九月三號ー2017年10月24號");
93
-
94
- expect(result.start).not.toBeNull();
95
- expect(result.start.get("year")).toBe(2016);
96
- expect(result.start.get("month")).toBe(9);
97
- expect(result.start.get("day")).toBe(3);
98
-
99
- {
100
- const resultDate = result.start.date();
101
- const expectDate = new Date(2016, 9 - 1, 3, 12);
102
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
103
- }
104
-
105
- expect(result.end).not.toBeNull();
106
- expect(result.end.get("year")).toBe(2017);
107
- expect(result.end.get("month")).toBe(10);
108
- expect(result.end.get("day")).toBe(24);
109
-
110
- {
111
- const resultDate = result.end.date();
112
- const expectDate = new Date(2017, 10 - 1, 24, 12);
113
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
114
- }
115
- });
116
- });