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,588 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase, testUnexpectedResult } from "../test_util";
3
- import { Meridiem } from "../../src";
4
-
5
- test("Test - Single Expression", function () {
6
- testSingleCase(chrono.fr, "8h10", new Date(2012, 7, 10), (result) => {
7
- expect(result.index).toBe(0);
8
- expect(result.text).toBe("8h10");
9
-
10
- expect(result.start.get("hour")).toBe(8);
11
- expect(result.start.get("minute")).toBe(10);
12
-
13
- expect(result.start.isCertain("day")).toBe(false);
14
- expect(result.start.isCertain("month")).toBe(false);
15
- expect(result.start.isCertain("year")).toBe(false);
16
- expect(result.start.isCertain("hour")).toBe(true);
17
- expect(result.start.isCertain("minute")).toBe(true);
18
- expect(result.start.isCertain("second")).toBe(false);
19
- expect(result.start.isCertain("millisecond")).toBe(false);
20
-
21
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 10));
22
- });
23
-
24
- testSingleCase(chrono.fr, "8h10m", new Date(2012, 7, 10), (result) => {
25
- expect(result.index).toBe(0);
26
- expect(result.text).toBe("8h10m");
27
-
28
- expect(result.start.get("hour")).toBe(8);
29
- expect(result.start.get("minute")).toBe(10);
30
-
31
- expect(result.start.isCertain("day")).toBe(false);
32
- expect(result.start.isCertain("month")).toBe(false);
33
- expect(result.start.isCertain("year")).toBe(false);
34
- expect(result.start.isCertain("hour")).toBe(true);
35
- expect(result.start.isCertain("minute")).toBe(true);
36
- expect(result.start.isCertain("second")).toBe(false);
37
- expect(result.start.isCertain("millisecond")).toBe(false);
38
-
39
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 10));
40
- });
41
-
42
- testSingleCase(chrono.fr, "8h10m00", new Date(2012, 7, 10), (result) => {
43
- expect(result.index).toBe(0);
44
- expect(result.text).toBe("8h10m00");
45
-
46
- expect(result.start.get("hour")).toBe(8);
47
- expect(result.start.get("minute")).toBe(10);
48
-
49
- expect(result.start.isCertain("day")).toBe(false);
50
- expect(result.start.isCertain("month")).toBe(false);
51
- expect(result.start.isCertain("year")).toBe(false);
52
- expect(result.start.isCertain("hour")).toBe(true);
53
- expect(result.start.isCertain("minute")).toBe(true);
54
- expect(result.start.isCertain("second")).toBe(true);
55
- expect(result.start.isCertain("millisecond")).toBe(false);
56
-
57
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 10));
58
- });
59
-
60
- testSingleCase(chrono.fr, "8h10m00s", new Date(2012, 7, 10), (result) => {
61
- expect(result.index).toBe(0);
62
- expect(result.text).toBe("8h10m00s");
63
-
64
- expect(result.start.get("hour")).toBe(8);
65
- expect(result.start.get("minute")).toBe(10);
66
-
67
- expect(result.start.isCertain("day")).toBe(false);
68
- expect(result.start.isCertain("month")).toBe(false);
69
- expect(result.start.isCertain("year")).toBe(false);
70
- expect(result.start.isCertain("hour")).toBe(true);
71
- expect(result.start.isCertain("minute")).toBe(true);
72
- expect(result.start.isCertain("second")).toBe(true);
73
- expect(result.start.isCertain("millisecond")).toBe(false);
74
-
75
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 10));
76
- });
77
-
78
- testSingleCase(chrono.fr, "8:10 PM", new Date(2012, 7, 10), (result) => {
79
- expect(result.index).toBe(0);
80
- expect(result.text).toBe("8:10 PM");
81
-
82
- expect(result.start.get("hour")).toBe(20);
83
- expect(result.start.get("minute")).toBe(10);
84
- expect(result.start.isCertain("second")).toBe(false);
85
- expect(result.start.isCertain("millisecond")).toBe(false);
86
-
87
- expect(result.start).toBeDate(new Date(2012, 7, 10, 20, 10));
88
- });
89
-
90
- testSingleCase(chrono.fr, "8h10 PM", new Date(2012, 7, 10), (result) => {
91
- expect(result.index).toBe(0);
92
- expect(result.text).toBe("8h10 PM");
93
-
94
- expect(result.start.get("hour")).toBe(20);
95
- expect(result.start.get("minute")).toBe(10);
96
- expect(result.start.isCertain("second")).toBe(false);
97
- expect(result.start.isCertain("millisecond")).toBe(false);
98
-
99
- expect(result.start).toBeDate(new Date(2012, 7, 10, 20, 10));
100
- });
101
-
102
- testSingleCase(chrono.fr, "1230pm", new Date(2012, 7, 10), (result) => {
103
- expect(result.index).toBe(0);
104
- expect(result.text).toBe("1230pm");
105
-
106
- expect(result.start.get("hour")).toBe(12);
107
- expect(result.start.get("minute")).toBe(30);
108
- expect(result.start.isCertain("second")).toBe(false);
109
- expect(result.start.isCertain("millisecond")).toBe(false);
110
-
111
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 30));
112
- });
113
-
114
- testSingleCase(chrono.fr, "5:16p", new Date(2012, 7, 10), (result) => {
115
- expect(result.index).toBe(0);
116
- expect(result.text).toBe("5:16p");
117
-
118
- expect(result.start.get("hour")).toBe(17);
119
- expect(result.start.get("minute")).toBe(16);
120
- expect(result.start.isCertain("second")).toBe(false);
121
- expect(result.start.isCertain("millisecond")).toBe(false);
122
-
123
- expect(result.start).toBeDate(new Date(2012, 7, 10, 17, 16));
124
- });
125
-
126
- testSingleCase(chrono.fr, "5h16p", new Date(2012, 7, 10), (result) => {
127
- expect(result.index).toBe(0);
128
- expect(result.text).toBe("5h16p");
129
-
130
- expect(result.start.get("hour")).toBe(17);
131
- expect(result.start.get("minute")).toBe(16);
132
- expect(result.start.isCertain("second")).toBe(false);
133
- expect(result.start.isCertain("millisecond")).toBe(false);
134
-
135
- expect(result.start).toBeDate(new Date(2012, 7, 10, 17, 16));
136
- });
137
-
138
- testSingleCase(chrono.fr, "5h16mp", new Date(2012, 7, 10), (result) => {
139
- expect(result.index).toBe(0);
140
- expect(result.text).toBe("5h16mp");
141
-
142
- expect(result.start.get("hour")).toBe(17);
143
- expect(result.start.get("minute")).toBe(16);
144
- expect(result.start.isCertain("second")).toBe(false);
145
- expect(result.start.isCertain("millisecond")).toBe(false);
146
-
147
- expect(result.start).toBeDate(new Date(2012, 7, 10, 17, 16));
148
- });
149
-
150
- testSingleCase(chrono.fr, "5:16 p.m.", new Date(2012, 7, 10), (result) => {
151
- expect(result.index).toBe(0);
152
- expect(result.text).toBe("5:16 p.m.");
153
-
154
- expect(result.start.get("hour")).toBe(17);
155
- expect(result.start.get("minute")).toBe(16);
156
- expect(result.start.isCertain("second")).toBe(false);
157
- expect(result.start.isCertain("millisecond")).toBe(false);
158
-
159
- expect(result.start).toBeDate(new Date(2012, 7, 10, 17, 16));
160
- });
161
-
162
- testSingleCase(chrono.fr, "5h16 p.m.", new Date(2012, 7, 10), (result) => {
163
- expect(result.index).toBe(0);
164
- expect(result.text).toBe("5h16 p.m.");
165
-
166
- expect(result.start.get("hour")).toBe(17);
167
- expect(result.start.get("minute")).toBe(16);
168
- expect(result.start.isCertain("second")).toBe(false);
169
- expect(result.start.isCertain("millisecond")).toBe(false);
170
-
171
- expect(result.start).toBeDate(new Date(2012, 7, 10, 17, 16));
172
- });
173
-
174
- testSingleCase(chrono.fr, "RDV à 6.13 AM", new Date(2012, 7, 10), (result) => {
175
- expect(result.index).toBe(4);
176
- expect(result.text).toBe("à 6.13 AM");
177
-
178
- expect(result.start.get("hour")).toBe(6);
179
- expect(result.start.get("minute")).toBe(13);
180
-
181
- expect(result.start).toBeDate(new Date(2012, 7, 10, 6, 13));
182
- });
183
-
184
- testSingleCase(chrono.fr, "13h-15h", new Date(2012, 7, 10), (result) => {
185
- expect(result.index).toBe(0);
186
- expect(result.text).toBe("13h-15h");
187
-
188
- expect(result.start.get("hour")).toBe(13);
189
- expect(result.start.get("minute")).toBe(0);
190
- expect(result.start.get("meridiem")).toBe(1);
191
-
192
- expect(result.start).toBeDate(new Date(2012, 7, 10, 13, 0));
193
-
194
- expect(result.end).not.toBeNull();
195
- expect(result.end.get("hour")).toBe(15);
196
- expect(result.end.get("minute")).toBe(0);
197
- expect(result.end.get("meridiem")).toBe(1);
198
-
199
- expect(result.end).toBeDate(new Date(2012, 7, 10, 15, 0));
200
- });
201
-
202
- testSingleCase(chrono.fr, "13-15h", new Date(2012, 7, 10), (result) => {
203
- expect(result.index).toBe(0);
204
- expect(result.text).toBe("13-15h");
205
-
206
- expect(result.start.get("hour")).toBe(13);
207
- expect(result.start.get("minute")).toBe(0);
208
- expect(result.start.get("meridiem")).toBe(1);
209
-
210
- expect(result.start).toBeDate(new Date(2012, 7, 10, 13, 0));
211
-
212
- expect(result.end).not.toBeNull();
213
- expect(result.end.get("hour")).toBe(15);
214
- expect(result.end.get("minute")).toBe(0);
215
- expect(result.end.get("meridiem")).toBe(1);
216
-
217
- expect(result.end).toBeDate(new Date(2012, 7, 10, 15, 0));
218
- });
219
-
220
- testSingleCase(chrono.fr, "1-3pm", new Date(2012, 7, 10), (result) => {
221
- expect(result.index).toBe(0);
222
- expect(result.text).toBe("1-3pm");
223
-
224
- expect(result.start.get("hour")).toBe(13);
225
- expect(result.start.get("minute")).toBe(0);
226
- expect(result.start.get("meridiem")).toBe(1);
227
-
228
- expect(result.start).toBeDate(new Date(2012, 7, 10, 13, 0));
229
-
230
- expect(result.end).not.toBeNull();
231
- expect(result.end.get("hour")).toBe(15);
232
- expect(result.end.get("minute")).toBe(0);
233
- expect(result.end.get("meridiem")).toBe(1);
234
-
235
- expect(result.end).toBeDate(new Date(2012, 7, 10, 15, 0));
236
- });
237
-
238
- testSingleCase(chrono.fr, "11pm-2", new Date(2012, 7, 10), (result) => {
239
- expect(result.index).toBe(0);
240
- expect(result.text).toBe("11pm-2");
241
-
242
- expect(result.start.get("hour")).toBe(23);
243
- expect(result.start.get("minute")).toBe(0);
244
- expect(result.start.get("meridiem")).toBe(1);
245
-
246
- expect(result.start).toBeDate(new Date(2012, 7, 10, 23, 0));
247
-
248
- expect(result.end).not.toBeNull();
249
- expect(result.end.get("hour")).toBe(2);
250
- expect(result.end.get("minute")).toBe(0);
251
- expect(result.end.get("meridiem")).toBe(0);
252
-
253
- expect(result.end).toBeDate(new Date(2012, 7, 11, 2, 0));
254
- });
255
- });
256
-
257
- test("Test - Range Expression", function () {
258
- testSingleCase(chrono.fr, "8:10 - 12.32", new Date(2012, 7, 10), (result) => {
259
- expect(result.index).toBe(0);
260
- expect(result.text).toBe("8:10 - 12.32");
261
-
262
- expect(result.start.get("hour")).toBe(8);
263
- expect(result.start.get("minute")).toBe(10);
264
-
265
- expect(result.start.isCertain("day")).toBe(false);
266
- expect(result.start.isCertain("month")).toBe(false);
267
- expect(result.start.isCertain("year")).toBe(false);
268
- expect(result.start.isCertain("hour")).toBe(true);
269
- expect(result.start.isCertain("minute")).toBe(true);
270
- expect(result.start.isCertain("second")).toBe(false);
271
- expect(result.start.isCertain("millisecond")).toBe(false);
272
-
273
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 10));
274
-
275
- expect(result.end).not.toBeNull();
276
- expect(result.end.get("hour")).toBe(12);
277
- expect(result.end.get("minute")).toBe(32);
278
-
279
- expect(result.end.isCertain("day")).toBe(false);
280
- expect(result.end.isCertain("month")).toBe(false);
281
- expect(result.end.isCertain("year")).toBe(false);
282
- expect(result.end.isCertain("hour")).toBe(true);
283
- expect(result.end.isCertain("minute")).toBe(true);
284
- expect(result.end.isCertain("second")).toBe(false);
285
- expect(result.end.isCertain("millisecond")).toBe(false);
286
-
287
- expect(result.end).toBeDate(new Date(2012, 7, 10, 12, 32));
288
- });
289
-
290
- testSingleCase(chrono.fr, "8:10 - 12h32", new Date(2012, 7, 10), (result) => {
291
- expect(result.index).toBe(0);
292
- expect(result.text).toBe("8:10 - 12h32");
293
-
294
- expect(result.start.get("hour")).toBe(8);
295
- expect(result.start.get("minute")).toBe(10);
296
-
297
- expect(result.start.isCertain("day")).toBe(false);
298
- expect(result.start.isCertain("month")).toBe(false);
299
- expect(result.start.isCertain("year")).toBe(false);
300
- expect(result.start.isCertain("hour")).toBe(true);
301
- expect(result.start.isCertain("minute")).toBe(true);
302
- expect(result.start.isCertain("second")).toBe(false);
303
- expect(result.start.isCertain("millisecond")).toBe(false);
304
-
305
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 10));
306
-
307
- expect(result.end).not.toBeNull();
308
- expect(result.end.get("hour")).toBe(12);
309
- expect(result.end.get("minute")).toBe(32);
310
-
311
- expect(result.end.isCertain("day")).toBe(false);
312
- expect(result.end.isCertain("month")).toBe(false);
313
- expect(result.end.isCertain("year")).toBe(false);
314
- expect(result.end.isCertain("hour")).toBe(true);
315
- expect(result.end.isCertain("minute")).toBe(true);
316
- expect(result.end.isCertain("second")).toBe(false);
317
- expect(result.end.isCertain("millisecond")).toBe(false);
318
-
319
- expect(result.end).toBeDate(new Date(2012, 7, 10, 12, 32));
320
- });
321
-
322
- testSingleCase(chrono.fr, " de 6:30pm à 11:00pm ", new Date(2012, 7, 10), (result) => {
323
- expect(result.start.get("hour")).toBe(18);
324
- expect(result.start.get("minute")).toBe(30);
325
- expect(result.start.get("meridiem")).toBe(1);
326
-
327
- expect(result.start).toBeDate(new Date(2012, 7, 10, 18, 30));
328
-
329
- expect(result.end).not.toBeNull();
330
- expect(result.end.get("hour")).toBe(23);
331
- expect(result.end.get("minute")).toBe(0);
332
- expect(result.end.get("meridiem")).toBe(1);
333
-
334
- expect(result.end).toBeDate(new Date(2012, 7, 10, 23, 0));
335
- });
336
-
337
- testSingleCase(chrono.fr, " 2012 à 10:12:59", new Date(2012, 7, 10), (result) => {
338
- expect(result.index).toBe(6);
339
- expect(result.text).toBe("à 10:12:59");
340
-
341
- expect(result.start.get("hour")).toBe(10);
342
- expect(result.start.get("minute")).toBe(12);
343
- expect(result.start.get("second")).toBe(59);
344
- expect(result.start.get("meridiem")).toBe(Meridiem.AM);
345
-
346
- expect(result.end).toBeNull();
347
- });
348
- });
349
-
350
- test("Test - Impossible", function () {
351
- testUnexpectedResult(chrono.fr, "8:62", new Date(2012, 7, 10));
352
-
353
- testUnexpectedResult(chrono.fr, "25:12", new Date(2012, 7, 10));
354
-
355
- testUnexpectedResult(chrono.fr, "12h12:99s", new Date(2012, 7, 10));
356
-
357
- testUnexpectedResult(chrono.fr, "13.12 PM", new Date(2012, 7, 10));
358
- });
359
-
360
- test("Test - Date + Time Expression", function () {
361
- testSingleCase(chrono.fr, "Quelque chose se passe le 2014-04-18 à 3h00", new Date(2012, 7, 10), (result) => {
362
- expect(result.index).toBe(26);
363
- expect(result.text).toBe("2014-04-18 à 3h00");
364
-
365
- expect(result.start.get("year")).toBe(2014);
366
- expect(result.start.get("month")).toBe(4);
367
- expect(result.start.get("day")).toBe(18);
368
- expect(result.start.get("hour")).toBe(3);
369
- expect(result.start.get("minute")).toBe(0);
370
- expect(result.start.get("second")).toBe(0);
371
- expect(result.start.get("millisecond")).toBe(0);
372
- expect(result.start.isCertain("millisecond")).toBe(false);
373
-
374
- expect(result.start).toBeDate(new Date(2014, 4 - 1, 18, 3, 0));
375
- });
376
-
377
- testSingleCase(chrono.fr, "Quelque chose se passe le 10 Août 2012 à 10:12:59", new Date(2012, 7, 10), (result) => {
378
- expect(result.index).toBe(26);
379
- expect(result.text).toBe("10 Août 2012 à 10:12:59");
380
-
381
- expect(result.start.get("year")).toBe(2012);
382
- expect(result.start.get("month")).toBe(8);
383
- expect(result.start.get("day")).toBe(10);
384
- expect(result.start.get("hour")).toBe(10);
385
- expect(result.start.get("minute")).toBe(12);
386
- expect(result.start.get("second")).toBe(59);
387
- expect(result.start.get("millisecond")).toBe(0);
388
- expect(result.start.isCertain("millisecond")).toBe(false);
389
-
390
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 10, 12, 59));
391
- });
392
-
393
- testSingleCase(chrono.fr, "Quelque chose se passe le 15juin 2016 20h", new Date(2016, 6, 10), (result) => {
394
- expect(result.index).toBe(26);
395
- expect(result.text).toBe("15juin 2016 20h");
396
-
397
- expect(result.start.get("year")).toBe(2016);
398
- expect(result.start.get("month")).toBe(6);
399
- expect(result.start.get("day")).toBe(15);
400
- expect(result.start.get("hour")).toBe(20);
401
- expect(result.start.get("minute")).toBe(0);
402
- expect(result.start.get("second")).toBe(0);
403
- expect(result.start.get("millisecond")).toBe(0);
404
- expect(result.start.isCertain("millisecond")).toBe(false);
405
-
406
- expect(result.start).toBeDate(new Date(2016, 6 - 1, 15, 20, 0, 0));
407
- });
408
-
409
- testSingleCase(
410
- chrono.fr,
411
- "Quelque chose se passe le 2014-04-18 7:00 - 8h00 ...",
412
- new Date(2012, 7, 10),
413
- (result) => {
414
- expect(result.index).toBe(26);
415
- expect(result.text).toBe("2014-04-18 7:00 - 8h00");
416
-
417
- expect(result.start.get("year")).toBe(2014);
418
- expect(result.start.get("month")).toBe(4);
419
- expect(result.start.get("day")).toBe(18);
420
- expect(result.start.get("hour")).toBe(7);
421
- expect(result.start.get("minute")).toBe(0);
422
- expect(result.start.get("second")).toBe(0);
423
- expect(result.start.get("millisecond")).toBe(0);
424
- expect(result.start.isCertain("meridiem")).toBe(false);
425
- expect(result.start.isCertain("millisecond")).toBe(false);
426
-
427
- expect(result.start).toBeDate(new Date(2014, 4 - 1, 18, 7, 0));
428
-
429
- expect(result.end.get("year")).toBe(2014);
430
- expect(result.end.get("month")).toBe(4);
431
- expect(result.end.get("day")).toBe(18);
432
- expect(result.end.get("hour")).toBe(8);
433
- expect(result.end.get("minute")).toBe(0);
434
- expect(result.end.get("second")).toBe(0);
435
- expect(result.end.get("millisecond")).toBe(0);
436
- expect(result.end.isCertain("meridiem")).toBe(false);
437
- expect(result.end.isCertain("millisecond")).toBe(false);
438
-
439
- expect(result.end).toBeDate(new Date(2014, 4 - 1, 18, 8, 0));
440
- }
441
- );
442
-
443
- testSingleCase(
444
- chrono.fr,
445
- "Quelque chose se passe le 2014-04-18 de 7:00 à 20:00 ...",
446
- new Date(2012, 7, 10),
447
- (result) => {
448
- expect(result.index).toBe(26);
449
- expect(result.text).toBe("2014-04-18 de 7:00 à 20:00");
450
-
451
- expect(result.start.get("year")).toBe(2014);
452
- expect(result.start.get("month")).toBe(4);
453
- expect(result.start.get("day")).toBe(18);
454
- expect(result.start.get("hour")).toBe(7);
455
- expect(result.start.get("minute")).toBe(0);
456
- expect(result.start.get("second")).toBe(0);
457
- expect(result.start.get("millisecond")).toBe(0);
458
- expect(result.start.isCertain("meridiem")).toBe(false);
459
- expect(result.start.isCertain("millisecond")).toBe(false);
460
-
461
- expect(result.start).toBeDate(new Date(2014, 4 - 1, 18, 7, 0));
462
-
463
- expect(result.end.get("year")).toBe(2014);
464
- expect(result.end.get("month")).toBe(4);
465
- expect(result.end.get("day")).toBe(18);
466
- expect(result.end.get("hour")).toBe(20);
467
- expect(result.end.get("minute")).toBe(0);
468
- expect(result.end.get("second")).toBe(0);
469
- expect(result.end.get("millisecond")).toBe(0);
470
- expect(result.start.isCertain("meridiem")).toBe(false);
471
- expect(result.end.isCertain("millisecond")).toBe(false);
472
-
473
- expect(result.end).toBeDate(new Date(2014, 4 - 1, 18, 20, 0));
474
- }
475
- );
476
- });
477
-
478
- test("Test - Timezone extraction", function () {
479
- testSingleCase(chrono.fr, "Vendredi à 2 pm", new Date(2016, 3, 28), (result, text) => {
480
- expect(result.text).toBe(text);
481
- expect(result.start.isCertain("timezoneOffset")).toBe(false);
482
- expect(!result.start.get("timezoneOffset")).not.toBeNull();
483
- });
484
-
485
- testSingleCase(chrono.fr, "vendredi 2 pm EST", new Date(2016, 3, 28), (result, text) => {
486
- expect(result.text).toBe(text);
487
- expect(result.start.isCertain("timezoneOffset")).toBe(true);
488
- expect(result.start.get("timezoneOffset")).toBe(-300);
489
- });
490
-
491
- testSingleCase(chrono.fr, "vendredi 15h CET", new Date(2016, 1, 28), (result, text) => {
492
- expect(result.text).toBe(text);
493
- expect(result.start.isCertain("timezoneOffset")).toBe(true);
494
- expect(result.start.get("timezoneOffset")).toBe(60);
495
- });
496
-
497
- testSingleCase(chrono.fr, "vendredi 15h cest", new Date(2016, 1, 28), (result, text) => {
498
- expect(result.text).toBe(text);
499
- expect(result.start.isCertain("timezoneOffset")).toBe(true);
500
- expect(result.start.get("timezoneOffset")).toBe(120);
501
- });
502
-
503
- testSingleCase(chrono.fr, "Vendredi à 2 pm est", new Date(2016, 3, 28), (result, text) => {
504
- expect(result.text).toBe(text);
505
- expect(result.start.isCertain("timezoneOffset")).toBe(true);
506
- expect(result.start.get("timezoneOffset")).toBe(-300);
507
- });
508
-
509
- testSingleCase(chrono.fr, "Vendredi à 2 pm j'ai rdv...", new Date(2016, 3, 28), (result, text) => {
510
- expect(result.text).toBe("Vendredi à 2 pm");
511
- expect(result.start.isCertain("timezoneOffset")).toBe(false);
512
- expect(!result.start.get("timezoneOffset")).not.toBeNull();
513
- });
514
-
515
- testSingleCase(chrono.fr, "Vendredi à 2 pm je vais faire quelque chose", new Date(2016, 3, 28), (result, text) => {
516
- expect(result.text).toBe("Vendredi à 2 pm");
517
- expect(result.start.isCertain("timezoneOffset")).toBe(false);
518
- expect(!result.start.get("timezoneOffset")).not.toBeNull();
519
- });
520
- });
521
-
522
- test("Test - Random date + time expression", function () {
523
- testSingleCase(chrono.fr, "lundi 29/4/2013 630-930am", (result, text) => {
524
- expect(result.text).toBe(text);
525
- });
526
-
527
- testSingleCase(chrono.fr, "mercredi 1/5/2013 1115am", (result, text) => {
528
- expect(result.text).toBe(text);
529
- });
530
-
531
- testSingleCase(chrono.fr, "vendredi 3/5/2013 1230pm", (result, text) => {
532
- expect(result.text).toBe(text);
533
- });
534
-
535
- testSingleCase(chrono.fr, "dimanche 6/5/2013 750am-910am", (result, text) => {
536
- expect(result.text).toBe(text);
537
- });
538
-
539
- testSingleCase(chrono.fr, "lundi 13/5/2013 630-930am", (result, text) => {
540
- expect(result.text).toBe(text);
541
- });
542
-
543
- testSingleCase(chrono.fr, "Vendredi 21/6/2013 2:30", (result, text) => {
544
- expect(result.text).toBe(text);
545
- });
546
-
547
- testSingleCase(chrono.fr, "mardi 7/2/2013 1-230 pm", (result, text) => {
548
- expect(result.text).toBe(text);
549
- });
550
-
551
- testSingleCase(chrono.fr, "mardi 7/2/2013 1-23h0", (result, text) => {
552
- expect(result.text).toBe(text);
553
- });
554
-
555
- testSingleCase(chrono.fr, "mardi 7/2/2013 1h-23h0m", (result, text) => {
556
- expect(result.text).toBe(text);
557
- });
558
-
559
- testSingleCase(chrono.fr, "Lundi, 24/6/2013, 7:00pm - 8:30pm", (result, text) => {
560
- expect(result.text).toBe(text);
561
- });
562
-
563
- testSingleCase(chrono.fr, "Jeudi6/5/2013 de 7h à 10h", (result, text) => {
564
- expect(result.text).toBe(text);
565
- });
566
-
567
- testSingleCase(chrono.fr, "18h", (result, text) => {
568
- expect(result.text).toBe(text);
569
- });
570
-
571
- testSingleCase(chrono.fr, "18-22h", (result, text) => {
572
- expect(result.text).toBe(text);
573
- });
574
-
575
- testSingleCase(chrono.fr, "11h-13", (result, text) => {
576
- expect(result.text).toBe(text);
577
- });
578
-
579
- testSingleCase(chrono.fr, "à 12h", (result, text) => {
580
- expect(result.text).toBe(text);
581
- });
582
-
583
- testSingleCase(chrono.fr, "Mercredi, 3 juil 2013 14h", (result, text) => {
584
- expect(result.text).toBe(text);
585
- });
586
-
587
- testUnexpectedResult(chrono.fr, "that I need to know or am I covered?");
588
- });
@@ -1,103 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.fr, "il y a 5 jours, on a fait quelque chose", new Date(2012, 8 - 1, 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(5);
10
-
11
- expect(result.index).toBe(0);
12
- expect(result.text).toBe("il y a 5 jours");
13
-
14
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 5));
15
- });
16
-
17
- testSingleCase(chrono.fr, "il y a 10 jours, on a fait quelque chose", new Date(2012, 7, 10, 13, 30), (result) => {
18
- expect(result.start).not.toBeNull();
19
- expect(result.start.get("year")).toBe(2012);
20
- expect(result.start.get("month")).toBe(7);
21
- expect(result.start.get("day")).toBe(31);
22
-
23
- expect(result.index).toBe(0);
24
- expect(result.text).toBe("il y a 10 jours");
25
-
26
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 31, 13, 30));
27
- });
28
-
29
- testSingleCase(chrono.fr, "il y a 15 minutes", new Date(2012, 7, 10, 12, 14), (result) => {
30
- expect(result.index).toBe(0);
31
- expect(result.text).toBe("il y a 15 minutes");
32
- expect(result.start.get("hour")).toBe(11);
33
- expect(result.start.get("minute")).toBe(59);
34
-
35
- expect(result.start).toBeDate(new Date(2012, 7, 10, 11, 59));
36
- });
37
-
38
- testSingleCase(chrono.fr, " il y a 12 heures", new Date(2012, 7, 10, 12, 14), (result) => {
39
- expect(result.index).toBe(3);
40
- expect(result.text).toBe("il y a 12 heures");
41
- expect(result.start.get("hour")).toBe(0);
42
- expect(result.start.get("minute")).toBe(14);
43
-
44
- expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 14));
45
- });
46
-
47
- testSingleCase(
48
- chrono.fr,
49
- "il y a 12 heures il s'est passé quelque chose",
50
- new Date(2012, 7, 10, 12, 14),
51
- (result) => {
52
- expect(result.index).toBe(0);
53
- expect(result.text).toBe("il y a 12 heures");
54
- expect(result.start.get("hour")).toBe(0);
55
- expect(result.start.get("minute")).toBe(14);
56
-
57
- expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 14));
58
- }
59
- );
60
- });
61
-
62
- test("Test - Single Expression (Casual)", function () {
63
- testSingleCase(chrono.fr, "il y a 5 mois, on a fait quelque chose", new Date(2012, 10 - 1, 10), (result) => {
64
- expect(result.start).not.toBeNull();
65
- expect(result.start.get("year")).toBe(2012);
66
- expect(result.start.get("month")).toBe(5);
67
- expect(result.start.get("day")).toBe(10);
68
-
69
- expect(result.index).toBe(0);
70
- expect(result.text).toBe("il y a 5 mois");
71
-
72
- expect(result.start).toBeDate(new Date(2012, 5 - 1, 10));
73
- });
74
-
75
- testSingleCase(chrono.fr, "il y a 5 ans, on a fait quelque chose", new Date(2012, 8 - 1, 10, 22, 22), (result) => {
76
- expect(result.start).not.toBeNull();
77
- expect(result.start.get("year")).toBe(2007);
78
- expect(result.start.get("month")).toBe(8);
79
- expect(result.start.get("day")).toBe(10);
80
-
81
- expect(result.index).toBe(0);
82
- expect(result.text).toBe("il y a 5 ans");
83
-
84
- expect(result.start).toBeDate(new Date(2007, 8 - 1, 10, 22, 22));
85
- });
86
-
87
- testSingleCase(
88
- chrono.fr,
89
- "il y a une semaine, on a fait quelque chose",
90
- new Date(2012, 8 - 1, 3, 8, 34),
91
- (result) => {
92
- expect(result.start).not.toBeNull();
93
- expect(result.start.get("year")).toBe(2012);
94
- expect(result.start.get("month")).toBe(7);
95
- expect(result.start.get("day")).toBe(27);
96
-
97
- expect(result.index).toBe(0);
98
- expect(result.text).toBe("il y a une semaine");
99
-
100
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 27, 8, 34));
101
- }
102
- );
103
- });