chrono-node 1.4.7 → 1.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chrono.js +711 -809
- package/dist/chrono.js.map +1 -1
- package/dist/chrono.min.js +1 -1
- package/dist/chrono.min.js.map +1 -1
- package/package.json +1 -1
- package/src/chrono.js +57 -59
- package/src/options.js +30 -29
- package/src/parsers/en/ENDeadlineFormatParser.js +9 -9
- package/src/result.js +119 -119
- package/test/de/de.test.js +36 -51
- package/test/de/de_casual.test.js +242 -141
- package/test/de/de_dash.test.js +5 -8
- package/test/de/de_deadline.test.js +151 -47
- package/test/de/de_little_endian.test.js +207 -58
- package/test/de/de_time_ago.test.js +167 -52
- package/test/de/de_time_exp.test.js +135 -121
- package/test/de/de_weekday.test.js +94 -31
- package/test/en/en.test.js +118 -89
- package/test/en/en_casual.test.js +149 -134
- package/test/en/en_dash.test.js +17 -11
- package/test/en/en_deadline.test.js +93 -69
- package/test/en/en_inter_std.test.js +28 -7
- package/test/en/en_little_endian.test.js +76 -26
- package/test/en/en_middle_endian.test.js +63 -21
- package/test/en/en_month.test.js +6 -2
- package/test/en/en_option_forward.test.js +120 -112
- package/test/en/en_relative.test.js +155 -172
- package/test/en/en_slash.test.js +156 -115
- package/test/en/en_time_ago.test.js +61 -21
- package/test/en/en_time_exp.test.js +228 -209
- package/test/en/en_time_from_now.test.js +70 -24
- package/test/en/en_time_later.test.js +16 -6
- package/test/en/en_weekday.test.js +39 -13
- package/test/es/es_casual.test.js +143 -120
- package/test/es/es_dash.test.js +7 -8
- package/test/es/es_deadline.test.js +69 -35
- package/test/es/es_little_endian.test.js +250 -145
- package/test/es/es_slash.test.js +17 -12
- package/test/es/es_time_ago.test.js +21 -7
- package/test/es/es_time_exp.test.js +154 -160
- package/test/fr/fr_casual.test.js +153 -124
- package/test/fr/fr_dash.test.js +13 -6
- package/test/fr/fr_deadline.test.js +163 -44
- package/test/fr/fr_little_endian.test.js +262 -81
- package/test/fr/fr_relative.test.js +188 -196
- package/test/fr/fr_slash.test.js +41 -14
- package/test/fr/fr_time_ago.test.js +30 -10
- package/test/fr/fr_time_exp.test.js +619 -567
- package/test/fr/fr_weekday.test.js +24 -8
- package/test/ja/ja_casual.test.js +41 -26
- package/test/ja/ja_standard.test.js +322 -207
- package/test/nl/nl.test.js +18 -20
- package/test/nl/nl_dash.test.js +26 -26
- package/test/nl/nl_little_endian.test.js +100 -51
- package/test/nl/nl_time_exp.test.js +37 -13
- package/test/nl/nl_weekday.test.js +39 -13
- package/test/pt/pt_casual.test.js +222 -156
- package/test/pt/pt_dash.test.js +7 -6
- package/test/pt/pt_deadline.test.js +51 -17
- package/test/pt/pt_little_endian.test.js +251 -144
- package/test/pt/pt_slash.test.js +38 -25
- package/test/pt/pt_time_ago.test.js +128 -80
- package/test/pt/pt_time_exp.test.js +191 -173
- package/test/test_util.js +1 -5
- package/test/zh/zh_hant_casual.test.js +184 -87
- package/test/zh/zh_hant_date.test.js +109 -75
- package/test/zh/zh_hant_deadline.test.js +131 -41
- package/test/zh/zh_hant_time_exp.test.js +184 -141
- package/test/zh/zh_hant_weekday.test.js +64 -22
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as chrono from '../../src/chrono';
|
|
2
|
-
import { testSingleCase
|
|
2
|
+
import { testSingleCase } from '../test_util';
|
|
3
3
|
|
|
4
4
|
test("Test - Single Expression", function() {
|
|
5
5
|
|
|
@@ -21,7 +21,9 @@ test("Test - Single Expression", function() {
|
|
|
21
21
|
expect(result.start.isCertain('second')).toBe(false);
|
|
22
22
|
expect(result.start.isCertain('millisecond')).toBe(false);
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
var resultDate = result.start.date();
|
|
25
|
+
var expectDate = new Date(2012, 7, 10, 8, 10);
|
|
26
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
25
27
|
});
|
|
26
28
|
|
|
27
29
|
testSingleCase(chrono, '8:10 PM', new Date(2012,7,10), (result) => {
|
|
@@ -35,7 +37,9 @@ test("Test - Single Expression", function() {
|
|
|
35
37
|
expect(result.start.isCertain('millisecond')).toBe(false);
|
|
36
38
|
|
|
37
39
|
|
|
38
|
-
|
|
40
|
+
var resultDate = result.start.date();
|
|
41
|
+
var expectDate = new Date(2012, 7, 10, 20, 10);
|
|
42
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
39
43
|
});
|
|
40
44
|
|
|
41
45
|
testSingleCase(chrono, '1230pm', new Date(2012,7,10), (result) => {
|
|
@@ -49,9 +53,11 @@ test("Test - Single Expression", function() {
|
|
|
49
53
|
expect(result.start.isCertain('millisecond')).toBe(false);
|
|
50
54
|
|
|
51
55
|
|
|
52
|
-
|
|
56
|
+
var resultDate = result.start.date();
|
|
57
|
+
var expectDate = new Date(2012, 7, 10, 12, 30);
|
|
58
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
53
59
|
});
|
|
54
|
-
|
|
60
|
+
|
|
55
61
|
testSingleCase(chrono, '5:16p', new Date(2012,7,10), (result) => {
|
|
56
62
|
expect(result.index).toBe(0);
|
|
57
63
|
expect(result.text).toBe('5:16p');
|
|
@@ -63,7 +69,9 @@ test("Test - Single Expression", function() {
|
|
|
63
69
|
expect(result.start.isCertain('millisecond')).toBe(false);
|
|
64
70
|
|
|
65
71
|
|
|
66
|
-
|
|
72
|
+
var resultDate = result.start.date();
|
|
73
|
+
var expectDate = new Date(2012, 7, 10, 17, 16);
|
|
74
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
67
75
|
});
|
|
68
76
|
|
|
69
77
|
testSingleCase(chrono, '5:16 p.m.', new Date(2012,7,10), (result) => {
|
|
@@ -77,7 +85,9 @@ test("Test - Single Expression", function() {
|
|
|
77
85
|
expect(result.start.isCertain('millisecond')).toBe(false);
|
|
78
86
|
|
|
79
87
|
|
|
80
|
-
|
|
88
|
+
var resultDate = result.start.date();
|
|
89
|
+
var expectDate = new Date(2012, 7, 10, 17, 16);
|
|
90
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
81
91
|
});
|
|
82
92
|
|
|
83
93
|
testSingleCase(chrono, 'Lets meet at 6.13 AM', new Date(2012,7,10), (result) => {
|
|
@@ -88,7 +98,9 @@ test("Test - Single Expression", function() {
|
|
|
88
98
|
expect(result.start.get('hour')).toBe(6);
|
|
89
99
|
expect(result.start.get('minute')).toBe(13);
|
|
90
100
|
|
|
91
|
-
|
|
101
|
+
var resultDate = result.start.date();
|
|
102
|
+
var expectDate = new Date(2012, 7, 10, 6, 13);
|
|
103
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
92
104
|
});
|
|
93
105
|
|
|
94
106
|
|
|
@@ -101,14 +113,18 @@ test("Test - Single Expression", function() {
|
|
|
101
113
|
expect(result.start.get('minute')).toBe(0);
|
|
102
114
|
expect(result.start.get('meridiem')).toBe(1);
|
|
103
115
|
|
|
104
|
-
|
|
116
|
+
var resultDate = result.start.date();
|
|
117
|
+
var expectDate = new Date(2012, 7, 10, 13, 0);
|
|
118
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
105
119
|
|
|
106
120
|
expect(result.end).not.toBeNull();
|
|
107
121
|
expect(result.end.get('hour')).toBe(15);
|
|
108
122
|
expect(result.end.get('minute')).toBe(0);
|
|
109
123
|
expect(result.end.get('meridiem')).toBe(1);
|
|
110
124
|
|
|
111
|
-
|
|
125
|
+
var resultDate = result.end.date();
|
|
126
|
+
var expectDate = new Date(2012, 7, 10, 15, 0);
|
|
127
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
112
128
|
});
|
|
113
129
|
|
|
114
130
|
|
|
@@ -121,14 +137,18 @@ test("Test - Single Expression", function() {
|
|
|
121
137
|
expect(result.start.get('minute')).toBe(0);
|
|
122
138
|
expect(result.start.get('meridiem')).toBe(1);
|
|
123
139
|
|
|
124
|
-
|
|
140
|
+
var resultDate = result.start.date();
|
|
141
|
+
var expectDate = new Date(2012, 7, 10, 23, 0);
|
|
142
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
125
143
|
|
|
126
144
|
expect(result.end).not.toBeNull();
|
|
127
145
|
expect(result.end.get('hour')).toBe(2);
|
|
128
146
|
expect(result.end.get('minute')).toBe(0);
|
|
129
147
|
expect(result.end.get('meridiem')).toBe(0);
|
|
130
148
|
|
|
131
|
-
|
|
149
|
+
var resultDate = result.end.date();
|
|
150
|
+
var expectDate = new Date(2012, 7, 11, 2, 0);
|
|
151
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
132
152
|
});
|
|
133
153
|
});
|
|
134
154
|
|
|
@@ -150,7 +170,9 @@ test("Test - Range Expression", function() {
|
|
|
150
170
|
expect(result.start.isCertain('second')).toBe(false);
|
|
151
171
|
expect(result.start.isCertain('millisecond')).toBe(false);
|
|
152
172
|
|
|
153
|
-
|
|
173
|
+
var resultDate = result.start.date();
|
|
174
|
+
var expectDate = new Date(2012, 7, 10, 8, 10);
|
|
175
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
154
176
|
|
|
155
177
|
expect(result.end).not.toBeNull();
|
|
156
178
|
expect(result.end.get('hour')).toBe(12);
|
|
@@ -164,7 +186,9 @@ test("Test - Range Expression", function() {
|
|
|
164
186
|
expect(result.end.isCertain('second')).toBe(false);
|
|
165
187
|
expect(result.end.isCertain('millisecond')).toBe(false);
|
|
166
188
|
|
|
167
|
-
|
|
189
|
+
var resultDate = result.end.date();
|
|
190
|
+
var expectDate = new Date(2012, 7, 10, 12, 32);
|
|
191
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
168
192
|
});
|
|
169
193
|
|
|
170
194
|
testSingleCase(chrono, ' from 6:30pm to 11:00pm ', new Date(2012,7,10), (result) => {
|
|
@@ -176,25 +200,35 @@ test("Test - Range Expression", function() {
|
|
|
176
200
|
expect(result.start.get('minute')).toBe(30);
|
|
177
201
|
expect(result.start.get('meridiem')).toBe(1);
|
|
178
202
|
|
|
179
|
-
|
|
203
|
+
var resultDate = result.start.date();
|
|
204
|
+
var expectDate = new Date(2012, 7, 10, 18, 30);
|
|
205
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
180
206
|
|
|
181
207
|
expect(result.end).not.toBeNull();
|
|
182
208
|
expect(result.end.get('hour')).toBe(23);
|
|
183
209
|
expect(result.end.get('minute')).toBe(0);
|
|
184
210
|
expect(result.end.get('meridiem')).toBe(1);
|
|
185
211
|
|
|
186
|
-
|
|
212
|
+
var resultDate = result.end.date();
|
|
213
|
+
var expectDate = new Date(2012, 7, 10, 23, 0);
|
|
214
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
187
215
|
});
|
|
188
216
|
|
|
189
217
|
});
|
|
190
218
|
|
|
191
219
|
test("Test - Impossible", function() {
|
|
192
220
|
|
|
193
|
-
|
|
221
|
+
var text = "8:62";
|
|
222
|
+
var results = chrono.parse(text, new Date(2012,7,10));
|
|
223
|
+
expect(results.length).toBe(0);
|
|
194
224
|
|
|
195
|
-
|
|
225
|
+
var text = "25:12";
|
|
226
|
+
var results = chrono.parse(text, new Date(2012,7,10));
|
|
227
|
+
expect(results.length).toBe(0);
|
|
196
228
|
|
|
197
|
-
|
|
229
|
+
var text = "13.12 PM";
|
|
230
|
+
var results = chrono.parse(text, new Date(2012,7,10));
|
|
231
|
+
expect(results.length).toBe(0)
|
|
198
232
|
});
|
|
199
233
|
|
|
200
234
|
test("Test - Date + Time Expression", function() {
|
|
@@ -212,7 +246,9 @@ test("Test - Date + Time Expression", function() {
|
|
|
212
246
|
expect(result.start.get('millisecond')).toBe(0);
|
|
213
247
|
expect(result.start.isCertain('millisecond')).toBe(false);
|
|
214
248
|
|
|
215
|
-
|
|
249
|
+
var resultDate = result.start.date();
|
|
250
|
+
var expectDate = new Date(2014, 4-1, 18, 3, 0);
|
|
251
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
216
252
|
});
|
|
217
253
|
|
|
218
254
|
testSingleCase(chrono, 'Something happen on August 10, 2012 10:12:59 pm', new Date(2012,7,10), (result) => {
|
|
@@ -228,7 +264,9 @@ test("Test - Date + Time Expression", function() {
|
|
|
228
264
|
expect(result.start.get('millisecond')).toBe(0);
|
|
229
265
|
expect(result.start.isCertain('millisecond')).toBe(false);
|
|
230
266
|
|
|
231
|
-
|
|
267
|
+
var resultDate = result.start.date();
|
|
268
|
+
var expectDate = new Date(2012, 8-1, 10, 22, 12, 59);
|
|
269
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
232
270
|
});
|
|
233
271
|
|
|
234
272
|
testSingleCase(chrono, 'Something happen on 2014-04-18 7:00 - 8:00 AM...', new Date(2012,7,10), (result) => {
|
|
@@ -245,7 +283,9 @@ test("Test - Date + Time Expression", function() {
|
|
|
245
283
|
expect(result.start.get('meridiem')).toBe(0);
|
|
246
284
|
expect(result.start.isCertain('millisecond')).toBe(false);
|
|
247
285
|
|
|
248
|
-
|
|
286
|
+
var resultDate = result.start.date();
|
|
287
|
+
var expectDate = new Date(2014, 4-1, 18, 7, 0);
|
|
288
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
249
289
|
|
|
250
290
|
|
|
251
291
|
expect(result.end.get('year')).toBe(2014);
|
|
@@ -258,7 +298,9 @@ test("Test - Date + Time Expression", function() {
|
|
|
258
298
|
expect(result.end.get('meridiem')).toBe(0);
|
|
259
299
|
expect(result.end.isCertain('millisecond')).toBe(false);
|
|
260
300
|
|
|
261
|
-
|
|
301
|
+
var resultDate = result.end.date();
|
|
302
|
+
var expectDate = new Date(2014, 4-1, 18, 8, 0);
|
|
303
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
262
304
|
});
|
|
263
305
|
|
|
264
306
|
|
|
@@ -277,7 +319,9 @@ test("Test - Date + Time Expression", function() {
|
|
|
277
319
|
expect(result.start.get('meridiem')).toBe(1);
|
|
278
320
|
expect(result.start.isCertain('millisecond')).toBe(false);
|
|
279
321
|
|
|
280
|
-
|
|
322
|
+
var resultDate = result.start.date();
|
|
323
|
+
var expectDate = new Date(2014, 4-1, 18, 19, 0);
|
|
324
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
281
325
|
|
|
282
326
|
|
|
283
327
|
expect(result.end.get('year')).toBe(2014);
|
|
@@ -290,7 +334,9 @@ test("Test - Date + Time Expression", function() {
|
|
|
290
334
|
expect(result.end.get('meridiem')).toBe(1);
|
|
291
335
|
expect(result.end.isCertain('millisecond')).toBe(false);
|
|
292
336
|
|
|
293
|
-
|
|
337
|
+
var resultDate = result.end.date();
|
|
338
|
+
var expectDate = new Date(2014, 4-1, 18, 20, 0);
|
|
339
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
294
340
|
});
|
|
295
341
|
});
|
|
296
342
|
|
|
@@ -397,218 +443,191 @@ test("Test - Time Expression's Meridiem imply", function() {
|
|
|
397
443
|
|
|
398
444
|
test("Test - Timezone extraction", function() {
|
|
399
445
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
});
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
testSingleCase(chrono, 'friday at 2 pm EST', new Date(2016, 3, 28), (result, text) => {
|
|
409
|
-
|
|
410
|
-
expect(result.text).toBe(text);
|
|
411
|
-
expect(result.start.isCertain('timezoneOffset')).toBe(true);
|
|
412
|
-
expect(result.start.get('timezoneOffset')).toBe(-300);
|
|
413
|
-
});
|
|
414
|
-
|
|
446
|
+
var text = "friday at 2 pm";
|
|
447
|
+
var result = chrono.parse(text, new Date(2016, 3, 28))[0];
|
|
448
|
+
expect(result.text).toBe(text);
|
|
449
|
+
expect(result.start.isCertain('timezoneOffset')).toBe(false);
|
|
450
|
+
expect(!result.start.get('timezoneOffset')).not.toBeNull();
|
|
415
451
|
|
|
416
|
-
testSingleCase(chrono, 'friday at 2 pm est', new Date(2016, 3, 28), (result, text) => {
|
|
417
452
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
453
|
+
var text = "friday at 2 pm EST";
|
|
454
|
+
var result = chrono.parse(text, new Date(2016, 3, 28))[0];
|
|
455
|
+
expect(result.text).toBe(text);
|
|
456
|
+
expect(result.start.isCertain('timezoneOffset')).toBe(true);
|
|
457
|
+
expect(result.start.get('timezoneOffset')).toBe(-300);
|
|
422
458
|
|
|
423
459
|
|
|
424
|
-
|
|
460
|
+
var text = "friday at 2 pm est";
|
|
461
|
+
var result = chrono.parse(text, new Date(2016, 3, 28))[0];
|
|
462
|
+
expect(result.text).toBe(text);
|
|
463
|
+
expect(result.start.isCertain('timezoneOffset')).toBe(true);
|
|
464
|
+
expect(result.start.get('timezoneOffset')).toBe(-300);
|
|
425
465
|
|
|
426
|
-
expect(result.text).toBe('friday at 2 pm');
|
|
427
|
-
expect(result.start.isCertain('timezoneOffset')).toBe(false);
|
|
428
|
-
expect(!result.start.get('timezoneOffset')).not.toBeNull();
|
|
429
|
-
});
|
|
430
466
|
|
|
467
|
+
var text = "friday at 2 pm establish ...";
|
|
468
|
+
var result = chrono.parse(text, new Date(2016, 3, 28))[0];
|
|
469
|
+
expect(result.text).toBe('friday at 2 pm');
|
|
470
|
+
expect(result.start.isCertain('timezoneOffset')).toBe(false);
|
|
471
|
+
expect(!result.start.get('timezoneOffset')).not.toBeNull();
|
|
431
472
|
|
|
432
|
-
testSingleCase(chrono, 'friday at 2 pm I will do something', new Date(2016, 3, 28), (result, text) => {
|
|
433
473
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
474
|
+
var text = "friday at 2 pm I will do something";
|
|
475
|
+
var result = chrono.parse(text, new Date(2016, 3, 28))[0];
|
|
476
|
+
expect(result.text).toBe('friday at 2 pm');
|
|
477
|
+
expect(result.start.isCertain('timezoneOffset')).toBe(false);
|
|
478
|
+
expect(!result.start.get('timezoneOffset')).not.toBeNull()
|
|
438
479
|
});
|
|
439
480
|
|
|
440
481
|
|
|
441
482
|
test("Test - Timezone extraction override", function() {
|
|
442
483
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
});
|
|
484
|
+
var text = "friday at 2 pm IST";
|
|
485
|
+
var result = chrono.parse(text, new Date(2016, 3, 28))[0];
|
|
486
|
+
expect(result.text).toBe(text);
|
|
487
|
+
expect(result.start.isCertain('timezoneOffset')).toBe(true);
|
|
488
|
+
expect(result.start.get('timezoneOffset')).toBe(330);
|
|
449
489
|
|
|
450
490
|
var options = { timezones: { 'IST' : 60 }};
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
});
|
|
491
|
+
var text = "friday at 2 pm IST";
|
|
492
|
+
var result = chrono.parse(text, new Date(2016, 3, 28), options)[0];
|
|
493
|
+
expect(result.text).toBe(text);
|
|
494
|
+
expect(result.start.isCertain('timezoneOffset')).toBe(true);
|
|
495
|
+
expect(result.start.get('timezoneOffset')).toBe(60);
|
|
457
496
|
});
|
|
458
497
|
|
|
459
498
|
test("Test - Milliseconds", function() {
|
|
499
|
+
|
|
500
|
+
var text = "friday at 10:31:50.522 - 10:45:50.122 pm";
|
|
501
|
+
var result = chrono.parse(text, new Date(2016, 3, 28))[0];
|
|
502
|
+
expect(result.text).toBe(text);
|
|
460
503
|
|
|
461
|
-
|
|
504
|
+
expect(result.start.isCertain('millisecond')).toBe(true);
|
|
505
|
+
expect(result.start.get('millisecond')).toBe(522);
|
|
506
|
+
expect(result.start.get('second')).toBe(50);
|
|
507
|
+
expect(result.start.get('minute')).toBe(31);
|
|
508
|
+
expect(result.start.get('hour')).toBe(22);
|
|
462
509
|
|
|
463
|
-
|
|
510
|
+
expect(result.end.isCertain('millisecond')).toBe(true);
|
|
511
|
+
expect(result.end.get('millisecond')).toBe(122);
|
|
512
|
+
expect(result.end.get('second')).toBe(50);
|
|
513
|
+
expect(result.end.get('minute')).toBe(45);
|
|
514
|
+
expect(result.end.get('hour')).toBe(22);
|
|
464
515
|
|
|
465
|
-
expect(result.start.isCertain('millisecond')).toBe(true);
|
|
466
|
-
expect(result.start.get('millisecond')).toBe(522);
|
|
467
|
-
expect(result.start.get('second')).toBe(50);
|
|
468
|
-
expect(result.start.get('minute')).toBe(31);
|
|
469
|
-
expect(result.start.get('hour')).toBe(22);
|
|
470
516
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
expect(result.end.get('minute')).toBe(45);
|
|
475
|
-
expect(result.end.get('hour')).toBe(22);
|
|
476
|
-
});
|
|
517
|
+
var text = "friday at 10:31:50.522142 - 10:45:50.122124 pm";
|
|
518
|
+
var result = chrono.parse(text, new Date(2016, 3, 28))[0];
|
|
519
|
+
expect(result.text).toBe(text);
|
|
477
520
|
|
|
521
|
+
expect(result.start.isCertain('millisecond')).toBe(true);
|
|
522
|
+
expect(result.start.get('millisecond')).toBe(522);
|
|
523
|
+
expect(result.start.get('second')).toBe(50);
|
|
524
|
+
expect(result.start.get('minute')).toBe(31);
|
|
525
|
+
expect(result.start.get('hour')).toBe(22);
|
|
478
526
|
|
|
479
|
-
|
|
527
|
+
expect(result.end.isCertain('millisecond')).toBe(true);
|
|
528
|
+
expect(result.end.get('millisecond')).toBe(122);
|
|
529
|
+
expect(result.end.get('second')).toBe(50);
|
|
530
|
+
expect(result.end.get('minute')).toBe(45);
|
|
531
|
+
expect(result.end.get('hour')).toBe(22)
|
|
480
532
|
|
|
481
|
-
expect(result.text).toBe(text);
|
|
482
533
|
|
|
483
|
-
expect(result.start.isCertain('millisecond')).toBe(true);
|
|
484
|
-
expect(result.start.get('millisecond')).toBe(522);
|
|
485
|
-
expect(result.start.get('second')).toBe(50);
|
|
486
|
-
expect(result.start.get('minute')).toBe(31);
|
|
487
|
-
expect(result.start.get('hour')).toBe(22);
|
|
488
|
-
|
|
489
|
-
expect(result.end.isCertain('millisecond')).toBe(true);
|
|
490
|
-
expect(result.end.get('millisecond')).toBe(122);
|
|
491
|
-
expect(result.end.get('second')).toBe(50);
|
|
492
|
-
expect(result.end.get('minute')).toBe(45);
|
|
493
|
-
expect(result.end.get('hour')).toBe(22);
|
|
494
|
-
});
|
|
495
534
|
});
|
|
496
535
|
|
|
497
536
|
test("Test - Random date + time expression", function() {
|
|
498
537
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
expect(result.text).toBe(text);
|
|
596
|
-
});
|
|
597
|
-
|
|
598
|
-
testSingleCase(chrono, 'at 7 o clock', (result, text) => {
|
|
599
|
-
|
|
600
|
-
expect(result.text).toBe(text);
|
|
601
|
-
});
|
|
602
|
-
|
|
603
|
-
testSingleCase(chrono, "at 7 o'clock", (result, text) => {
|
|
604
|
-
|
|
605
|
-
expect(result.text).toBe(text);
|
|
606
|
-
});
|
|
607
|
-
|
|
608
|
-
testSingleCase(chrono, "at 7-8 o'clock", (result, text) => {
|
|
609
|
-
|
|
610
|
-
expect(result.text).toBe(text);
|
|
611
|
-
});
|
|
612
|
-
|
|
613
|
-
testUnexpectedResult(chrono, 'that I need to know or am I covered?');
|
|
538
|
+
var text = "monday 4/29/2013 630-930am";
|
|
539
|
+
var result = chrono.parse(text)[0];
|
|
540
|
+
expect(result.text).toBe(text);
|
|
541
|
+
|
|
542
|
+
var text = "wednesday 5/1/2013 1115am";
|
|
543
|
+
var result = chrono.parse(text)[0];
|
|
544
|
+
expect(result.text).toBe(text);
|
|
545
|
+
|
|
546
|
+
var text = "friday 5/3/2013 1230pm";
|
|
547
|
+
var result = chrono.parse(text)[0];
|
|
548
|
+
expect(result.text).toBe(text);
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
var text = "sunday 5/6/2013 750am-910am";
|
|
552
|
+
var result = chrono.parse(text)[0];
|
|
553
|
+
expect(result.text).toBe(text);
|
|
554
|
+
|
|
555
|
+
var text = "monday 5/13/2013 630-930am";
|
|
556
|
+
var result = chrono.parse(text)[0];
|
|
557
|
+
expect(result.text).toBe(text);
|
|
558
|
+
|
|
559
|
+
var text = "wednesday 5/15/2013 1030am";
|
|
560
|
+
var result = chrono.parse(text)[0];
|
|
561
|
+
expect(result.text).toBe(text);
|
|
562
|
+
|
|
563
|
+
var text = "friday 6/21/2013 2:30";
|
|
564
|
+
var result = chrono.parse(text)[0];
|
|
565
|
+
expect(result.text).toBe(text);
|
|
566
|
+
|
|
567
|
+
var text = "tuesday 7/2/2013 1-230 pm";
|
|
568
|
+
var result = chrono.parse(text)[0];
|
|
569
|
+
expect(result.text).toBe(text);
|
|
570
|
+
|
|
571
|
+
var text = "Monday, 6/24/2013, 7:00pm - 8:30pm";
|
|
572
|
+
var result = chrono.parse(text)[0];
|
|
573
|
+
expect(result.text).toBe(text);
|
|
574
|
+
|
|
575
|
+
var text = "Thursday6/20/2013 from 7:00 PM to 10:00 PM";
|
|
576
|
+
var result = chrono.parse(text)[0];
|
|
577
|
+
expect(result.text).toBe(text);
|
|
578
|
+
|
|
579
|
+
var text = "Wednesday, July 03, 2013 2pm";
|
|
580
|
+
var result = chrono.parse(text)[0];
|
|
581
|
+
expect(result.text).toBe(text);
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
var text = "6pm";
|
|
585
|
+
var result = chrono.parse(text)[0];
|
|
586
|
+
expect(result.text).toBe(text);
|
|
587
|
+
|
|
588
|
+
var text = "6 pm";
|
|
589
|
+
var result = chrono.parse(text)[0];
|
|
590
|
+
expect(result.text).toBe(text);
|
|
591
|
+
|
|
592
|
+
var text = "7-10pm";
|
|
593
|
+
var result = chrono.parse(text)[0];
|
|
594
|
+
expect(result.text).toBe(text);
|
|
595
|
+
|
|
596
|
+
var text = "11.1pm";
|
|
597
|
+
var result = chrono.parse(text)[0];
|
|
598
|
+
expect(result.text).toBe(text);
|
|
599
|
+
|
|
600
|
+
var text = "that I need to know or am I covered?";
|
|
601
|
+
var result = chrono.parse(text);
|
|
602
|
+
expect(result.length).toBe(0);
|
|
603
|
+
|
|
604
|
+
var text = "at 12";
|
|
605
|
+
var result = chrono.parse(text)[0];
|
|
606
|
+
expect(result.text).toBe(text);
|
|
607
|
+
|
|
608
|
+
var text = "at noon";
|
|
609
|
+
var result = chrono.parse(text)[0];
|
|
610
|
+
expect(result.text).toBe(text);
|
|
611
|
+
expect(result.start.get('hour')).toBe(12);
|
|
612
|
+
expect(result.start.get('hour')).toBe(12);
|
|
613
|
+
|
|
614
|
+
var text = "at midnight";
|
|
615
|
+
var result = chrono.parse(text)[0];
|
|
616
|
+
expect(result.text).toBe(text);
|
|
617
|
+
|
|
618
|
+
var text = "at 7 oclock";
|
|
619
|
+
var result = chrono.parse(text)[0];
|
|
620
|
+
expect(result.text).toBe(text);
|
|
621
|
+
|
|
622
|
+
var text = "at 7 o clock";
|
|
623
|
+
var result = chrono.parse(text)[0];
|
|
624
|
+
expect(result.text).toBe(text);
|
|
625
|
+
|
|
626
|
+
var text = "at 7 o'clock";
|
|
627
|
+
var result = chrono.parse(text)[0];
|
|
628
|
+
expect(result.text).toBe(text);
|
|
629
|
+
|
|
630
|
+
var text = "at 7-8 o'clock";
|
|
631
|
+
var result = chrono.parse(text)[0];
|
|
632
|
+
expect(result.text).toBe(text)
|
|
614
633
|
});
|