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,358 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
-
4
- test("Test - Single expression", () => {
5
- testSingleCase(chrono.nl, "10 augustus 2012", new Date(2012, 7, 10), (result) => {
6
- expect(result.start).not.toBeNull();
7
- expect(result.start.get("year")).toBe(2012);
8
- expect(result.start.get("month")).toBe(8);
9
- expect(result.start.get("day")).toBe(10);
10
-
11
- expect(result.index).toBe(0);
12
- expect(result.text).toBe("10 augustus 2012");
13
-
14
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
15
- });
16
-
17
- testSingleCase(chrono.nl, "3 februari 82", new Date(2012, 7, 10), (result) => {
18
- expect(result.start).not.toBeNull();
19
- expect(result.start.get("year")).toBe(1982);
20
- expect(result.start.get("month")).toBe(2);
21
- expect(result.start.get("day")).toBe(3);
22
-
23
- expect(result.index).toBe(0);
24
- expect(result.text).toBe("3 februari 82");
25
-
26
- expect(result.start).toBeDate(new Date(1982, 2 - 1, 3, 12));
27
- });
28
-
29
- testSingleCase(chrono.nl, "10 augustus 234 voor Christus", new Date(2012, 7, 10), (result) => {
30
- expect(result.index).toBe(0);
31
- expect(result.text).toBe("10 augustus 234 voor Christus");
32
-
33
- expect(result.start).not.toBeNull();
34
- expect(result.start.get("year")).toBe(-234);
35
- expect(result.start.get("month")).toBe(8);
36
- expect(result.start.get("day")).toBe(10);
37
-
38
- expect(result.start).toBeDate(new Date(-234, 8 - 1, 10, 12));
39
- });
40
-
41
- testSingleCase(chrono.nl, "10 augustus 88 na Christus", new Date(2012, 7, 10), (result) => {
42
- expect(result.index).toBe(0);
43
- expect(result.text).toBe("10 augustus 88 na Christus");
44
-
45
- expect(result.start).not.toBeNull();
46
- expect(result.start.get("year")).toBe(88);
47
- expect(result.start.get("month")).toBe(8);
48
- expect(result.start.get("day")).toBe(10);
49
-
50
- const resultDate = result.start.date();
51
- const expectDate = new Date(88, 8 - 1, 10, 12);
52
- expectDate.setFullYear(88);
53
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
54
- });
55
-
56
- testSingleCase(chrono.nl, "Zon 15 Sept", new Date(2013, 7, 10), (result) => {
57
- expect(result.index).toBe(0);
58
- expect(result.text).toBe("Zon 15 Sept");
59
-
60
- expect(result.start).not.toBeNull();
61
- expect(result.start.get("year")).toBe(2013);
62
- expect(result.start.get("month")).toBe(9);
63
- expect(result.start.get("day")).toBe(15);
64
-
65
- expect(result.start).toBeDate(new Date(2013, 9 - 1, 15, 12));
66
- });
67
-
68
- testSingleCase(chrono.nl, "ZON 15 SEPT", new Date(2013, 7, 10), (result) => {
69
- expect(result.index).toBe(0);
70
- expect(result.text).toBe("ZON 15 SEPT");
71
-
72
- expect(result.start).not.toBeNull();
73
- expect(result.start.get("year")).toBe(2013);
74
- expect(result.start.get("month")).toBe(9);
75
- expect(result.start.get("day")).toBe(15);
76
-
77
- expect(result.start).toBeDate(new Date(2013, 9 - 1, 15, 12));
78
- });
79
-
80
- testSingleCase(chrono.nl, "De deadline is 10 augustus", new Date(2012, 7, 10), (result) => {
81
- expect(result.index).toBe(15);
82
- expect(result.text).toBe("10 augustus");
83
-
84
- expect(result.start).not.toBeNull();
85
- expect(result.start.get("year")).toBe(2012);
86
- expect(result.start.get("month")).toBe(8);
87
- expect(result.start.get("day")).toBe(10);
88
-
89
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
90
- });
91
-
92
- testSingleCase(chrono.nl, "De deadline is dinsdag, 10 januari", new Date(2012, 7, 10), (result) => {
93
- expect(result.index).toBe(15);
94
- expect(result.text).toBe("dinsdag, 10 januari");
95
-
96
- expect(result.start).not.toBeNull();
97
- expect(result.start.get("year")).toBe(2013);
98
- expect(result.start.get("month")).toBe(1);
99
- expect(result.start.get("day")).toBe(10);
100
- expect(result.start.get("weekday")).toBe(2);
101
-
102
- expect(result.start).toBeDate(new Date(2013, 1 - 1, 10, 12));
103
- });
104
-
105
- testSingleCase(chrono.nl, "De deadline is di, 10 januari", new Date(2012, 7, 10), (result) => {
106
- expect(result.index).toBe(15);
107
- expect(result.text).toBe("di, 10 januari");
108
-
109
- expect(result.start).not.toBeNull();
110
- expect(result.start.get("year")).toBe(2013);
111
- expect(result.start.get("month")).toBe(1);
112
- expect(result.start.get("day")).toBe(10);
113
- expect(result.start.get("weekday")).toBe(2);
114
-
115
- expect(result.start).toBeDate(new Date(2013, 1 - 1, 10, 12));
116
- });
117
-
118
- testSingleCase(chrono.nl, "31ste maart 2016", new Date(2012, 7, 10), (result) => {
119
- expect(result.index).toBe(0);
120
- expect(result.text).toBe("31ste maart 2016");
121
-
122
- expect(result.start).not.toBeNull();
123
- expect(result.start.get("year")).toBe(2016);
124
- expect(result.start.get("month")).toBe(3);
125
- expect(result.start.get("day")).toBe(31);
126
-
127
- expect(result.start).toBeDate(new Date(2016, 3 - 1, 31, 12));
128
- });
129
-
130
- testSingleCase(chrono.nl, "23ste februari 2016", new Date(2012, 7, 10), (result) => {
131
- expect(result.index).toBe(0);
132
- expect(result.text).toBe("23ste februari 2016");
133
-
134
- expect(result.start).not.toBeNull();
135
- expect(result.start.get("year")).toBe(2016);
136
- expect(result.start.get("month")).toBe(2);
137
- expect(result.start.get("day")).toBe(23);
138
-
139
- expect(result.start).toBeDate(new Date(2016, 2 - 1, 23, 12));
140
- });
141
- });
142
-
143
- test("Test - Range expression", () => {
144
- testSingleCase(chrono.nl, "10 - 22 augustus 2012", new Date(2012, 7, 10), (result) => {
145
- expect(result.index).toBe(0);
146
- expect(result.text).toBe("10 - 22 augustus 2012");
147
-
148
- expect(result.start).not.toBeNull();
149
- expect(result.start.get("year")).toBe(2012);
150
- expect(result.start.get("month")).toBe(8);
151
- expect(result.start.get("day")).toBe(10);
152
-
153
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
154
-
155
- expect(result.end).not.toBeNull();
156
- expect(result.end.get("year")).toBe(2012);
157
- expect(result.end.get("month")).toBe(8);
158
- expect(result.end.get("day")).toBe(22);
159
-
160
- expect(result.end).toBeDate(new Date(2012, 8 - 1, 22, 12));
161
- });
162
-
163
- testSingleCase(chrono.nl, "10 tot 22 augustus 2012", new Date(2012, 7, 10), (result) => {
164
- expect(result.index).toBe(0);
165
- expect(result.text).toBe("10 tot 22 augustus 2012");
166
-
167
- expect(result.start).not.toBeNull();
168
- expect(result.start.get("year")).toBe(2012);
169
- expect(result.start.get("month")).toBe(8);
170
- expect(result.start.get("day")).toBe(10);
171
-
172
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
173
-
174
- expect(result.end).not.toBeNull();
175
- expect(result.end.get("year")).toBe(2012);
176
- expect(result.end.get("month")).toBe(8);
177
- expect(result.end.get("day")).toBe(22);
178
-
179
- expect(result.end).toBeDate(new Date(2012, 8 - 1, 22, 12));
180
- });
181
-
182
- testSingleCase(chrono.nl, "10 augustus - 12 september", new Date(2012, 7, 10), (result) => {
183
- expect(result.index).toBe(0);
184
- expect(result.text).toBe("10 augustus - 12 september");
185
-
186
- expect(result.start).not.toBeNull();
187
- expect(result.start.get("year")).toBe(2012);
188
- expect(result.start.get("month")).toBe(8);
189
- expect(result.start.get("day")).toBe(10);
190
-
191
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
192
-
193
- expect(result.end).not.toBeNull();
194
- expect(result.end.get("year")).toBe(2012);
195
- expect(result.end.get("month")).toBe(9);
196
- expect(result.end.get("day")).toBe(12);
197
-
198
- expect(result.end).toBeDate(new Date(2012, 9 - 1, 12, 12));
199
- });
200
-
201
- testSingleCase(chrono.nl, "10 augustus - 12 september 2013", new Date(2012, 7, 10), (result) => {
202
- expect(result.index).toBe(0);
203
- expect(result.text).toBe("10 augustus - 12 september 2013");
204
-
205
- expect(result.start).not.toBeNull();
206
- expect(result.start.get("year")).toBe(2013);
207
- expect(result.start.get("month")).toBe(8);
208
- expect(result.start.get("day")).toBe(10);
209
-
210
- expect(result.start).toBeDate(new Date(2013, 8 - 1, 10, 12));
211
-
212
- expect(result.end).not.toBeNull();
213
- expect(result.end.get("year")).toBe(2013);
214
- expect(result.end.get("month")).toBe(9);
215
- expect(result.end.get("day")).toBe(12);
216
-
217
- expect(result.end).toBeDate(new Date(2013, 9 - 1, 12, 12));
218
- });
219
- });
220
-
221
- test("Test - Combined expression", () => {
222
- testSingleCase(chrono.nl, "12de juli om 19:00", new Date(2012, 7, 10), (result) => {
223
- expect(result.index).toBe(0);
224
- expect(result.text).toBe("12de juli om 19:00");
225
-
226
- expect(result.start).not.toBeNull();
227
- expect(result.start.get("year")).toBe(2012);
228
- expect(result.start.get("month")).toBe(7);
229
- expect(result.start.get("day")).toBe(12);
230
-
231
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 12, 19, 0));
232
- });
233
-
234
- testSingleCase(chrono.nl, "5 mei 12:00", new Date(2012, 7, 10), (result) => {
235
- expect(result.index).toBe(0);
236
- expect(result.text).toBe("5 mei 12:00");
237
-
238
- expect(result.start).not.toBeNull();
239
- expect(result.start.get("year")).toBe(2012);
240
- expect(result.start.get("month")).toBe(5);
241
- expect(result.start.get("day")).toBe(5);
242
-
243
- expect(result.start).toBeDate(new Date(2012, 5 - 1, 5, 12, 0));
244
- });
245
-
246
- testSingleCase(chrono.nl, "7 mei 11:00", new Date(2012, 7, 10), (result) => {
247
- expect(result.index).toBe(0);
248
- expect(result.text).toBe("7 mei 11:00");
249
-
250
- expect(result.start).not.toBeNull();
251
- expect(result.start.get("year")).toBe(2012);
252
- expect(result.start.get("month")).toBe(5);
253
- expect(result.start.get("day")).toBe(7);
254
- expect(result.start.get("hour")).toBe(11);
255
-
256
- expect(result.start).toBeDate(new Date(2012, 5 - 1, 7, 11, 0));
257
- });
258
- });
259
-
260
- test("Test - Ordinal Words", () => {
261
- testSingleCase(chrono.nl, "vierentwintigste mei", new Date(2012, 7, 10), (result) => {
262
- expect(result.text).toBe("vierentwintigste mei");
263
-
264
- expect(result.start).not.toBeNull();
265
- expect(result.start.get("year")).toBe(2012);
266
- expect(result.start.get("month")).toBe(5);
267
- expect(result.start.get("day")).toBe(24);
268
- });
269
-
270
- testSingleCase(chrono.nl, "achtste tot elfde mei 2010", new Date(2012, 7, 10), (result) => {
271
- expect(result.text).toBe("achtste tot elfde mei 2010");
272
-
273
- expect(result.start).not.toBeNull();
274
- expect(result.start.get("year")).toBe(2010);
275
- expect(result.start.get("month")).toBe(5);
276
- expect(result.start.get("day")).toBe(8);
277
-
278
- expect(result.end).not.toBeNull();
279
- expect(result.end.get("year")).toBe(2010);
280
- expect(result.end.get("month")).toBe(5);
281
- expect(result.end.get("day")).toBe(11);
282
- });
283
- });
284
-
285
- test("Test - little endian date followed by time", () => {
286
- testSingleCase(chrono.nl, "24ste oktober, 9:00", new Date(2017, 7 - 1, 7, 15), (result) => {
287
- expect(result.text).toBe("24ste oktober, 9:00");
288
- expect(result.start.get("day")).toBe(24);
289
- expect(result.start.get("month")).toBe(10);
290
- expect(result.start.get("hour")).toBe(9);
291
- });
292
-
293
- testSingleCase(chrono.nl, "24ste oktober, 21:00", new Date(2017, 7 - 1, 7, 15), (result) => {
294
- expect(result.text).toBe("24ste oktober, 21:00");
295
- expect(result.start.get("day")).toBe(24);
296
- expect(result.start.get("month")).toBe(10);
297
- expect(result.start.get("hour")).toBe(21);
298
- });
299
-
300
- testSingleCase(chrono.nl, "24 oktober, 21:00", new Date(2017, 7 - 1, 7, 15), (result) => {
301
- expect(result.text).toBe("24 oktober, 21:00");
302
- expect(result.start.get("day")).toBe(24);
303
- expect(result.start.get("month")).toBe(10);
304
- expect(result.start.get("hour")).toBe(21);
305
- });
306
- });
307
-
308
- test("Test - year 90's parsing", () => {
309
- testSingleCase(chrono.nl, "03 aug 96", new Date(2012, 7, 10), (result) => {
310
- expect(result.text).toBe("03 aug 96");
311
-
312
- expect(result.start.get("year")).toBe(1996);
313
- expect(result.start.get("month")).toBe(8);
314
- expect(result.start.get("day")).toBe(3);
315
- });
316
-
317
- testSingleCase(chrono.nl, "3 aug 96", new Date(2012, 7, 10), (result) => {
318
- expect(result.text).toBe("3 aug 96");
319
-
320
- expect(result.start.get("year")).toBe(1996);
321
- expect(result.start.get("month")).toBe(8);
322
- expect(result.start.get("day")).toBe(3);
323
- });
324
-
325
- testSingleCase(chrono.nl, "9 aug 96", new Date(2012, 7, 10), (result) => {
326
- expect(result.text).toBe("9 aug 96");
327
-
328
- expect(result.start.get("year")).toBe(1996);
329
- expect(result.start.get("month")).toBe(8);
330
- expect(result.start.get("day")).toBe(9);
331
- });
332
- });
333
-
334
- test("Test - Forward Option", () => {
335
- testSingleCase(chrono.nl, "22-23 februari om 19:00", new Date(2016, 3 - 1, 15), (result) => {
336
- expect(result.start.get("year")).toBe(2016);
337
- expect(result.start.get("month")).toBe(2);
338
- expect(result.start.get("day")).toBe(22);
339
- expect(result.start.get("hour")).toBe(19);
340
-
341
- expect(result.end.get("year")).toBe(2016);
342
- expect(result.end.get("month")).toBe(2);
343
- expect(result.end.get("day")).toBe(23);
344
- expect(result.end.get("hour")).toBe(19);
345
- });
346
-
347
- testSingleCase(chrono.nl, "22-23 februari om 19:00", new Date(2016, 3 - 1, 15), { forwardDate: true }, (result) => {
348
- expect(result.start.get("year")).toBe(2017);
349
- expect(result.start.get("month")).toBe(2);
350
- expect(result.start.get("day")).toBe(22);
351
- expect(result.start.get("hour")).toBe(19);
352
-
353
- expect(result.end.get("year")).toBe(2017);
354
- expect(result.end.get("month")).toBe(2);
355
- expect(result.end.get("day")).toBe(23);
356
- expect(result.end.get("hour")).toBe(19);
357
- });
358
- });
@@ -1,242 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
- import { ParsingResult } from "../../src/results";
4
-
5
- test("Test - 'This' expressions", () => {
6
- // this week
7
- testSingleCase(chrono.nl, "deze week", new Date(2017, 11 - 1, 19, 12), (result, text) => {
8
- expect(result.text).toBe(text);
9
- expect(result.start.get("year")).toBe(2017);
10
- expect(result.start.get("month")).toBe(11);
11
- expect(result.start.get("day")).toBe(19);
12
- expect(result.start.get("hour")).toBe(12);
13
- });
14
-
15
- // this month
16
- testSingleCase(chrono.nl, "deze maand", new Date(2017, 11 - 1, 19, 12), (result, text) => {
17
- expect(result.text).toBe(text);
18
- expect(result.start.get("year")).toBe(2017);
19
- expect(result.start.get("month")).toBe(11);
20
- expect(result.start.get("day")).toBe(1);
21
- expect(result.start.get("hour")).toBe(12);
22
- });
23
-
24
- // this year
25
- testSingleCase(chrono.nl, "dit jaar", new Date(2017, 11 - 1, 19, 12), (result, text) => {
26
- expect(result.text).toBe(text);
27
- expect(result.start.get("year")).toBe(2017);
28
- expect(result.start.get("month")).toBe(1);
29
- expect(result.start.get("day")).toBe(1);
30
- expect(result.start.get("hour")).toBe(12);
31
- });
32
- });
33
-
34
- test("Test - Past relative expressions", () => {
35
- // last week
36
- testSingleCase(chrono.nl, "afgelopen week", new Date(2016, 10 - 1, 1, 12), (result, text) => {
37
- expect(result.text).toBe(text);
38
- expect(result.start.get("year")).toBe(2016);
39
- expect(result.start.get("month")).toBe(9);
40
- expect(result.start.get("day")).toBe(24);
41
- expect(result.start.get("hour")).toBe(12);
42
- });
43
-
44
- // last month
45
- testSingleCase(chrono.nl, "afgelopen maand", new Date(2016, 10 - 1, 1, 12), (result, text) => {
46
- expect(result.text).toBe(text);
47
- expect(result.start.get("year")).toBe(2016);
48
- expect(result.start.get("month")).toBe(9);
49
- expect(result.start.get("day")).toBe(1);
50
- expect(result.start.get("hour")).toBe(12);
51
- });
52
-
53
- // last day
54
- testSingleCase(chrono.nl, "afgelopen dag", new Date(2016, 10 - 1, 1, 12), (result, text) => {
55
- expect(result.text).toBe(text);
56
- expect(result.start.get("year")).toBe(2016);
57
- expect(result.start.get("month")).toBe(9);
58
- expect(result.start.get("day")).toBe(30);
59
- expect(result.start.get("hour")).toBe(12);
60
- });
61
-
62
- // past week
63
- testSingleCase(chrono.nl, "vorige week", new Date(2016, 10 - 1, 1, 12), (result, text) => {
64
- expect(result.text).toBe(text);
65
- expect(result.start.get("year")).toBe(2016);
66
- expect(result.start.get("month")).toBe(9);
67
- expect(result.start.get("day")).toBe(24);
68
- expect(result.start.get("hour")).toBe(12);
69
- });
70
- });
71
-
72
- test("Test - Future relative expressions", () => {
73
- // next hour
74
- testSingleCase(chrono.nl, "komend uur", new Date(2016, 10 - 1, 1, 12), (result, text) => {
75
- expect(result.text).toBe(text);
76
- expect(result.start.get("year")).toBe(2016);
77
- expect(result.start.get("month")).toBe(10);
78
- expect(result.start.get("day")).toBe(1);
79
- expect(result.start.get("hour")).toBe(13);
80
- });
81
-
82
- // next week
83
- testSingleCase(chrono.nl, "volgende week", new Date(2016, 10 - 1, 1, 12), (result, text) => {
84
- expect(result.text).toBe(text);
85
- expect(result.start.get("year")).toBe(2016);
86
- expect(result.start.get("month")).toBe(10);
87
- expect(result.start.get("day")).toBe(8);
88
- expect(result.start.get("hour")).toBe(12);
89
- });
90
-
91
- // next day
92
- testSingleCase(chrono.nl, "volgende dag", new Date(2016, 10 - 1, 1, 12), (result, text) => {
93
- expect(result.text).toBe(text);
94
- expect(result.start.get("year")).toBe(2016);
95
- expect(result.start.get("month")).toBe(10);
96
- expect(result.start.get("day")).toBe(2);
97
- expect(result.start.get("hour")).toBe(12);
98
- });
99
-
100
- // next month
101
- testSingleCase(chrono.nl, "volgende maand", new Date(2016, 10 - 1, 1, 12), (result, text) => {
102
- expect(result.text).toBe(text);
103
- expect(result.start.get("year")).toBe(2016);
104
- expect(result.start.get("month")).toBe(11);
105
- expect(result.start.get("day")).toBe(1);
106
- expect(result.start.get("hour")).toBe(12);
107
-
108
- expect(result.start.isCertain("year")).toBe(true);
109
- expect(result.start.isCertain("month")).toBe(true);
110
- expect(result.start.isCertain("day")).toBe(false);
111
- expect(result.start.isCertain("hour")).toBe(false);
112
- });
113
-
114
- // next month
115
- testSingleCase(chrono.nl, "aankomende maand", new Date(2016, 10 - 1, 1, 12), (result, text) => {
116
- expect(result.text).toBe(text);
117
- expect(result.start.get("year")).toBe(2016);
118
- expect(result.start.get("month")).toBe(11);
119
- expect(result.start.get("day")).toBe(1);
120
- expect(result.start.get("hour")).toBe(12);
121
-
122
- expect(result.start.isCertain("year")).toBe(true);
123
- expect(result.start.isCertain("month")).toBe(true);
124
- expect(result.start.isCertain("day")).toBe(false);
125
- expect(result.start.isCertain("hour")).toBe(false);
126
- });
127
-
128
- // next year
129
- testSingleCase(chrono.nl, "volgend jaar", new Date(2020, 11 - 1, 22, 12, 11, 32, 6), (result, text) => {
130
- expect(result.text).toBe(text);
131
- expect(result.start.get("year")).toBe(2021);
132
- expect(result.start.get("month")).toBe(11);
133
- expect(result.start.get("day")).toBe(22);
134
- expect(result.start.get("hour")).toBe(12);
135
- expect(result.start.get("minute")).toBe(11);
136
- expect(result.start.get("second")).toBe(32);
137
- expect(result.start.get("millisecond")).toBe(6);
138
-
139
- expect(result.start.isCertain("year")).toBe(true);
140
- expect(result.start.isCertain("month")).toBe(false);
141
- expect(result.start.isCertain("day")).toBe(false);
142
- expect(result.start.isCertain("hour")).toBe(false);
143
- expect(result.start.isCertain("minute")).toBe(false);
144
- expect(result.start.isCertain("second")).toBe(false);
145
- expect(result.start.isCertain("millisecond")).toBe(false);
146
- expect(result.start.isCertain("timezoneOffset")).toBe(false);
147
- });
148
- });
149
-
150
- test("Test - Relative date components' certainty", () => {
151
- const refDate = new Date(2016, 10 - 1, 7, 12);
152
-
153
- // next hour
154
- testSingleCase(chrono.nl, "komend uur", refDate, (result, text) => {
155
- expect(result.text).toBe(text);
156
- expect(result.start.get("year")).toBe(2016);
157
- expect(result.start.get("month")).toBe(10);
158
- expect(result.start.get("day")).toBe(7);
159
- expect(result.start.get("hour")).toBe(13);
160
- expect(result.start.get("timezoneOffset")).toBe(refDate.getTimezoneOffset() * -1);
161
-
162
- expect(result.start.isCertain("year")).toBe(true);
163
- expect(result.start.isCertain("month")).toBe(true);
164
- expect(result.start.isCertain("day")).toBe(true);
165
- expect(result.start.isCertain("hour")).toBe(true);
166
- expect(result.start.isCertain("timezoneOffset")).toBe(true);
167
- });
168
-
169
- // next month
170
- testSingleCase(chrono.nl, "volgende maand", refDate, (result, text) => {
171
- //const expectedDate = new Date(2016, 11, 7, 12);
172
-
173
- expect(result.text).toBe(text);
174
- expect(result.start.get("year")).toBe(2016);
175
- expect(result.start.get("month")).toBe(11);
176
- expect(result.start.get("day")).toBe(7);
177
- expect(result.start.get("hour")).toBe(12);
178
- //expect(result.start.get("timezoneOffset")).toBe(-expectedDate.getTimezoneOffset());
179
-
180
- expect(result.start.isCertain("year")).toBe(true);
181
- expect(result.start.isCertain("month")).toBe(true);
182
- expect(result.start.isCertain("day")).toBe(false);
183
- expect(result.start.isCertain("hour")).toBe(false);
184
- expect(result.start.isCertain("timezoneOffset")).toBe(false);
185
- });
186
- });
187
-
188
- test("Test - Relative date when the timezone is irrelevant", () => {
189
- const refDate = new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)");
190
- {
191
- // now
192
- const text = "nu";
193
- const result = chrono.nl.parse(text, refDate)[0] as ParsingResult;
194
- expect(result).toBeDate(new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)"));
195
- expect(result).toBeDate(new Date("Sun Nov 29 2020 5:24:13 GMT+0100"));
196
-
197
- result.start.imply("timezoneOffset", 60);
198
- expect(result).toBeDate(new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)"));
199
- expect(result).toBeDate(new Date("Sun Nov 29 2020 5:24:13 GMT+0100"));
200
- }
201
- {
202
- // in 10 minutes
203
- const text = "binnen 10 minuten";
204
- const result = chrono.nl.parse(text, refDate)[0] as ParsingResult;
205
- expect(result).toBeDate(new Date("Sun Nov 29 2020 13:34:13 GMT+0900 (Japan Standard Time)"));
206
- expect(result).toBeDate(new Date("Sun Nov 29 2020 5:34:13 GMT+0100"));
207
-
208
- result.start.imply("timezoneOffset", 60);
209
- expect(result).toBeDate(new Date("Sun Nov 29 2020 13:34:13 GMT+0900 (Japan Standard Time)"));
210
- expect(result).toBeDate(new Date("Sun Nov 29 2020 5:34:13 GMT+0100"));
211
- }
212
- });
213
-
214
- test("Test - Relative date when the timezone is relevant and known", () => {
215
- // Sun Nov 29 2020 13:24:13 GMT+0900 (JST)
216
- // Sat Nov 28 2020 21:24:13 GMT-0700 (PDT)
217
- const refInstant = new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)");
218
- {
219
- // In JST (Nov 29 2020 13:24:13 GMT+0900), "tomorrow at 5pm"
220
- const text = "morgen om 17 uur";
221
- const result = chrono.nl.parse(text, { instant: refInstant, timezone: "JST" })[0] as ParsingResult;
222
- expect(result).toBeDate(new Date("Mon Nov 30 2020 17:00:00 GMT+0900 (JST)"));
223
- expect(result.start.get("month")).toBe(11);
224
- expect(result.start.get("day")).toBe(30);
225
- expect(result.start.get("hour")).toBe(17);
226
-
227
- result.start.imply("timezoneOffset", 60);
228
- expect(result).toBeDate(new Date("Mon Nov 30 2020 17:00:00 GMT+0100 (BST)"));
229
- }
230
- {
231
- // In PDT (Sat Nov 28 2020 21:24:13 GMT-0700), "tomorrow at 5pm"
232
- const text = "morgen om 17 uur";
233
- const result = chrono.nl.parse(text, { instant: refInstant, timezone: -7 * 60 })[0] as ParsingResult;
234
- expect(result).toBeDate(new Date("Sun Nov 29 2020 17:00:00 GMT-0700 (PST)"));
235
- expect(result.start.get("month")).toBe(11);
236
- expect(result.start.get("day")).toBe(29);
237
- expect(result.start.get("hour")).toBe(17);
238
-
239
- result.start.imply("timezoneOffset", 60);
240
- expect(result).toBeDate(new Date("Sun Nov 29 2020 17:00:00 GMT+0100 (BST)"));
241
- }
242
- });