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.
Files changed (69) hide show
  1. package/dist/chrono.js +711 -809
  2. package/dist/chrono.js.map +1 -1
  3. package/dist/chrono.min.js +1 -1
  4. package/dist/chrono.min.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/chrono.js +57 -59
  7. package/src/options.js +30 -29
  8. package/src/parsers/en/ENDeadlineFormatParser.js +9 -9
  9. package/src/result.js +119 -119
  10. package/test/de/de.test.js +36 -51
  11. package/test/de/de_casual.test.js +242 -141
  12. package/test/de/de_dash.test.js +5 -8
  13. package/test/de/de_deadline.test.js +151 -47
  14. package/test/de/de_little_endian.test.js +207 -58
  15. package/test/de/de_time_ago.test.js +167 -52
  16. package/test/de/de_time_exp.test.js +135 -121
  17. package/test/de/de_weekday.test.js +94 -31
  18. package/test/en/en.test.js +118 -89
  19. package/test/en/en_casual.test.js +149 -134
  20. package/test/en/en_dash.test.js +17 -11
  21. package/test/en/en_deadline.test.js +93 -69
  22. package/test/en/en_inter_std.test.js +28 -7
  23. package/test/en/en_little_endian.test.js +76 -26
  24. package/test/en/en_middle_endian.test.js +63 -21
  25. package/test/en/en_month.test.js +6 -2
  26. package/test/en/en_option_forward.test.js +120 -112
  27. package/test/en/en_relative.test.js +155 -172
  28. package/test/en/en_slash.test.js +156 -115
  29. package/test/en/en_time_ago.test.js +61 -21
  30. package/test/en/en_time_exp.test.js +228 -209
  31. package/test/en/en_time_from_now.test.js +70 -24
  32. package/test/en/en_time_later.test.js +16 -6
  33. package/test/en/en_weekday.test.js +39 -13
  34. package/test/es/es_casual.test.js +143 -120
  35. package/test/es/es_dash.test.js +7 -8
  36. package/test/es/es_deadline.test.js +69 -35
  37. package/test/es/es_little_endian.test.js +250 -145
  38. package/test/es/es_slash.test.js +17 -12
  39. package/test/es/es_time_ago.test.js +21 -7
  40. package/test/es/es_time_exp.test.js +154 -160
  41. package/test/fr/fr_casual.test.js +153 -124
  42. package/test/fr/fr_dash.test.js +13 -6
  43. package/test/fr/fr_deadline.test.js +163 -44
  44. package/test/fr/fr_little_endian.test.js +262 -81
  45. package/test/fr/fr_relative.test.js +188 -196
  46. package/test/fr/fr_slash.test.js +41 -14
  47. package/test/fr/fr_time_ago.test.js +30 -10
  48. package/test/fr/fr_time_exp.test.js +619 -567
  49. package/test/fr/fr_weekday.test.js +24 -8
  50. package/test/ja/ja_casual.test.js +41 -26
  51. package/test/ja/ja_standard.test.js +322 -207
  52. package/test/nl/nl.test.js +18 -20
  53. package/test/nl/nl_dash.test.js +26 -26
  54. package/test/nl/nl_little_endian.test.js +100 -51
  55. package/test/nl/nl_time_exp.test.js +37 -13
  56. package/test/nl/nl_weekday.test.js +39 -13
  57. package/test/pt/pt_casual.test.js +222 -156
  58. package/test/pt/pt_dash.test.js +7 -6
  59. package/test/pt/pt_deadline.test.js +51 -17
  60. package/test/pt/pt_little_endian.test.js +251 -144
  61. package/test/pt/pt_slash.test.js +38 -25
  62. package/test/pt/pt_time_ago.test.js +128 -80
  63. package/test/pt/pt_time_exp.test.js +191 -173
  64. package/test/test_util.js +1 -5
  65. package/test/zh/zh_hant_casual.test.js +184 -87
  66. package/test/zh/zh_hant_date.test.js +109 -75
  67. package/test/zh/zh_hant_deadline.test.js +131 -41
  68. package/test/zh/zh_hant_time_exp.test.js +184 -141
  69. package/test/zh/zh_hant_weekday.test.js +64 -22
@@ -12,7 +12,9 @@ test("Test - Single Expression", function() {
12
12
  expect(result.index).toBe(29);
13
13
  expect(result.text).toBe('July 2017');
14
14
 
15
- expect(result.start).toBeDate(new Date(2017, 7-1, 1, 12));
15
+ var resultDate = result.start.date();
16
+ var expectDate = new Date(2017, 7-1, 1, 12);
17
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
16
18
  });
17
19
 
18
20
  testSingleCase(chrono, 'She is leaving in August.', new Date(2012,7,10), (result) => {
@@ -24,7 +26,9 @@ test("Test - Single Expression", function() {
24
26
  expect(result.index).toBe(18);
25
27
  expect(result.text).toBe('August');
26
28
 
27
- expect(result.start).toBeDate(new Date(2012, 8-1, 1, 12));
29
+ var resultDate = result.start.date();
30
+ var expectDate = new Date(2012, 8-1, 1, 12);
31
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
28
32
  });
29
33
 
30
34
  testSingleCase(chrono, 'I am arriving sometime in August, 2012, probably.', new Date(2012,7,10), (result) => {
@@ -36,7 +40,9 @@ test("Test - Single Expression", function() {
36
40
  expect(result.index).toBe(26);
37
41
  expect(result.text).toBe('August, 2012');
38
42
 
39
- expect(result.start).toBeDate(new Date(2012, 8-1, 1, 12));
43
+ var resultDate = result.start.date();
44
+ var expectDate = new Date(2012, 8-1, 1, 12);
45
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
40
46
  });
41
47
 
42
48
  testSingleCase(chrono, 'August 10, 2012', new Date(2012,7,10), (result) => {
@@ -48,7 +54,9 @@ test("Test - Single Expression", function() {
48
54
  expect(result.index).toBe(0);
49
55
  expect(result.text).toBe('August 10, 2012');
50
56
 
51
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
57
+ var resultDate = result.start.date();
58
+ var expectDate = new Date(2012, 8-1, 10, 12);
59
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
52
60
  });
53
61
 
54
62
  testSingleCase(chrono, 'Nov 12, 2011', new Date(2012,7,10), (result) => {
@@ -60,7 +68,9 @@ test("Test - Single Expression", function() {
60
68
  expect(result.index).toBe(0);
61
69
  expect(result.text).toBe('Nov 12, 2011');
62
70
 
63
- expect(result.start).toBeDate(new Date(2011, 11-1, 12, 12));
71
+ var resultDate = result.start.date();
72
+ var expectDate = new Date(2011, 11-1, 12, 12);
73
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
64
74
  });
65
75
 
66
76
  testSingleCase(chrono, 'The Deadline is August 10', new Date(2012,7,10), (result) => {
@@ -72,7 +82,9 @@ test("Test - Single Expression", function() {
72
82
  expect(result.index).toBe(16);
73
83
  expect(result.text).toBe('August 10');
74
84
 
75
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
85
+ var resultDate = result.start.date();
86
+ var expectDate = new Date(2012, 8-1, 10, 12);
87
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
76
88
  });
77
89
 
78
90
 
@@ -80,14 +92,18 @@ test("Test - Single Expression", function() {
80
92
  expect(result.index).toBe(16);
81
93
  expect(result.text).toBe('August 10 2555 BE');
82
94
 
83
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
95
+ var resultDate = result.start.date();
96
+ var expectDate = new Date(2012, 8-1, 10, 12);
97
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
84
98
  });
85
99
 
86
100
  testSingleCase(chrono, 'The Deadline is August 10, 345 BC', new Date(2012,7,10), (result) => {
87
101
  expect(result.index).toBe(16);
88
102
  expect(result.text).toBe('August 10, 345 BC');
89
103
 
90
- expect(result.start).toBeDate(new Date(-345, 8-1, 10, 12));
104
+ var resultDate = result.start.date();
105
+ var expectDate = new Date(-345, 8-1, 10, 12);
106
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
91
107
  });
92
108
 
93
109
  testSingleCase(chrono, 'The Deadline is August 10, 8 AD', new Date(2012,7,10), (result) => {
@@ -110,7 +126,9 @@ test("Test - Single Expression", function() {
110
126
  expect(result.start.get('day')).toBe(10);
111
127
  expect(result.start.get('weekday')).toBe(2);
112
128
 
113
- expect(result.start).toBeDate(new Date(2013, 1-1, 10, 12));
129
+ var resultDate = result.start.date();
130
+ var expectDate = new Date(2013, 1-1, 10, 12);
131
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
114
132
  });
115
133
 
116
134
  testSingleCase(chrono, 'Sun, Mar. 6, 2016', new Date(2012,7,10), (result) => {
@@ -184,7 +202,9 @@ test("Test - Range expression", function() {
184
202
  expect(result.start.get('month')).toBe(8);
185
203
  expect(result.start.get('day')).toBe(10);
186
204
 
187
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
205
+ var resultDate = result.start.date();
206
+ var expectDate = new Date(2012, 8-1, 10, 12);
207
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
188
208
 
189
209
 
190
210
  expect(result.end).not.toBeNull();
@@ -192,7 +212,9 @@ test("Test - Range expression", function() {
192
212
  expect(result.end.get('month')).toBe(8);
193
213
  expect(result.end.get('day')).toBe(22);
194
214
 
195
- expect(result.end).toBeDate(new Date(2012, 8-1, 22, 12));
215
+ var resultDate = result.end.date();
216
+ var expectDate = new Date(2012, 8-1, 22, 12);
217
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
196
218
  });
197
219
 
198
220
 
@@ -206,7 +228,9 @@ test("Test - Range expression", function() {
206
228
  expect(result.start.get('month')).toBe(8);
207
229
  expect(result.start.get('day')).toBe(10);
208
230
 
209
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
231
+ var resultDate = result.start.date();
232
+ var expectDate = new Date(2012, 8-1, 10, 12);
233
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
210
234
 
211
235
 
212
236
  expect(result.end).not.toBeNull();
@@ -214,7 +238,9 @@ test("Test - Range expression", function() {
214
238
  expect(result.end.get('month')).toBe(8);
215
239
  expect(result.end.get('day')).toBe(22);
216
240
 
217
- expect(result.end).toBeDate(new Date(2012, 8-1, 22, 12));
241
+ var resultDate = result.end.date();
242
+ var expectDate = new Date(2012, 8-1, 22, 12);
243
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
218
244
  });
219
245
 
220
246
 
@@ -228,7 +254,9 @@ test("Test - Range expression", function() {
228
254
  expect(result.start.get('month')).toBe(8);
229
255
  expect(result.start.get('day')).toBe(10);
230
256
 
231
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
257
+ var resultDate = result.start.date();
258
+ var expectDate = new Date(2012, 8-1, 10, 12);
259
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
232
260
 
233
261
 
234
262
  expect(result.end).not.toBeNull();
@@ -236,7 +264,9 @@ test("Test - Range expression", function() {
236
264
  expect(result.end.get('month')).toBe(11);
237
265
  expect(result.end.get('day')).toBe(12);
238
266
 
239
- expect(result.end).toBeDate(new Date(2012, 11-1, 12, 12));
267
+ var resultDate = result.end.date();
268
+ var expectDate = new Date(2012, 11-1, 12, 12);
269
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
240
270
  });
241
271
 
242
272
  testSingleCase(chrono, 'Aug 10 to Nov 12', new Date(2012,7,10), (result) => {
@@ -249,7 +279,9 @@ test("Test - Range expression", function() {
249
279
  expect(result.start.get('month')).toBe(8);
250
280
  expect(result.start.get('day')).toBe(10);
251
281
 
252
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
282
+ var resultDate = result.start.date();
283
+ var expectDate = new Date(2012, 8-1, 10, 12);
284
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
253
285
 
254
286
 
255
287
  expect(result.end).not.toBeNull();
@@ -257,7 +289,9 @@ test("Test - Range expression", function() {
257
289
  expect(result.end.get('month')).toBe(11);
258
290
  expect(result.end.get('day')).toBe(12);
259
291
 
260
- expect(result.end).toBeDate(new Date(2012, 11-1, 12, 12));
292
+ var resultDate = result.end.date();
293
+ var expectDate = new Date(2012, 11-1, 12, 12);
294
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
261
295
  });
262
296
 
263
297
 
@@ -271,7 +305,9 @@ test("Test - Range expression", function() {
271
305
  expect(result.start.get('month')).toBe(8);
272
306
  expect(result.start.get('day')).toBe(10);
273
307
 
274
- expect(result.start).toBeDate(new Date(2013, 8-1, 10, 12));
308
+ var resultDate = result.start.date();
309
+ var expectDate = new Date(2013, 8-1, 10, 12);
310
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
275
311
 
276
312
 
277
313
  expect(result.end).not.toBeNull();
@@ -279,7 +315,9 @@ test("Test - Range expression", function() {
279
315
  expect(result.end.get('month')).toBe(11);
280
316
  expect(result.end.get('day')).toBe(12);
281
317
 
282
- expect(result.end).toBeDate(new Date(2013, 11-1, 12, 12));
318
+ var resultDate = result.end.date();
319
+ var expectDate = new Date(2013, 11-1, 12, 12);
320
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
283
321
  });
284
322
 
285
323
 
@@ -293,7 +331,9 @@ test("Test - Range expression", function() {
293
331
  expect(result.start.get('month')).toBe(8);
294
332
  expect(result.start.get('day')).toBe(10);
295
333
 
296
- expect(result.start).toBeDate(new Date(2011, 8-1, 10, 12));
334
+ var resultDate = result.start.date();
335
+ var expectDate = new Date(2011, 8-1, 10, 12);
336
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
297
337
 
298
338
 
299
339
  expect(result.end).not.toBeNull();
@@ -301,7 +341,9 @@ test("Test - Range expression", function() {
301
341
  expect(result.end.get('month')).toBe(11);
302
342
  expect(result.end.get('day')).toBe(12);
303
343
 
304
- expect(result.end).toBeDate(new Date(2011, 11-1, 12, 12));
344
+ var resultDate = result.end.date();
345
+ var expectDate = new Date(2011, 11-1, 12, 12);
346
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
305
347
  });
306
348
  });
307
349
 
@@ -106,7 +106,9 @@ test("Test - Month slash expression", function() {
106
106
  expect(result.index).toBe(0);
107
107
  expect(result.text).toBe('9/2012');
108
108
 
109
- expect(result.start).toBeDate(new Date(2012, 9-1, 1, 12));
109
+ var resultDate = result.start.date();
110
+ var expectDate = new Date(2012, 9-1, 1, 12);
111
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
110
112
  });
111
113
 
112
114
  testSingleCase(chrono, '09/2012', new Date(2012,7,10), (result) => {
@@ -117,7 +119,9 @@ test("Test - Month slash expression", function() {
117
119
  expect(result.index).toBe(0);
118
120
  expect(result.text).toBe('09/2012');
119
121
 
120
- expect(result.start).toBeDate(new Date(2012, 9-1, 1, 12));
122
+ var resultDate = result.start.date();
123
+ var expectDate = new Date(2012, 9-1, 1, 12);
124
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
121
125
  });
122
126
 
123
127
  });
@@ -1,146 +1,154 @@
1
- import * as chrono from '../../src/chrono';
2
- import { testSingleCase } from '../test_util';
3
-
1
+ var chrono = require('../../src/chrono');
4
2
 
5
3
  test("Test - Year Guessing", function() {
6
4
 
7
5
  // Parsing "January" on February (2016-02-15)
8
- testSingleCase(chrono.casual, 'January 1st', new Date(2016, 2-1, 15),
9
- (result) => {
10
-
11
- expect(result.start.get('year')).toBe(2016);
12
- expect(result.start.get('month')).toBe(1);
13
- expect(result.start.get('day')).toBe(1);
14
- });
15
-
16
- testSingleCase(chrono.casual, 'January 1st', new Date(2016, 2-1, 15),
17
- {forwardDate: true}, (result) => {
18
-
19
- expect(result.start.get('year')).toBe(2017);
20
- expect(result.start.get('month')).toBe(1);
21
- expect(result.start.get('day')).toBe(1);
22
- });
6
+ var text = "January 1st";
7
+
8
+ var result = chrono.casual.parse(text, new Date(2016, 2-1, 15))[0];
9
+
10
+ if (result) {
11
+ expect(result.start.get('year')).toBe(2016);
12
+ expect(result.start.get('month')).toBe(1);
13
+ expect(result.start.get('day')).toBe(1);
14
+ }
15
+
16
+ var result = chrono.casual.parse(text, new Date(2016, 2-1, 15), {forwardDate: true})[0];
17
+
18
+ if (result) {
19
+ expect(result.start.get('year')).toBe(2017);
20
+ expect(result.start.get('month')).toBe(1);
21
+ expect(result.start.get('day')).toBe(1);
22
+ }
23
23
  });
24
24
 
25
25
  test("Test - Year Guessing (Range)", function() {
26
26
 
27
27
  // Parsing "February" on March (2016-02-15)
28
- testSingleCase(chrono.casual, '22-23 Feb at 7pm', new Date(2016, 3-1, 15),
29
- (result) => {
30
-
31
- expect(result.start.get('year')).toBe(2016);
32
- expect(result.start.get('month')).toBe(2);
33
- expect(result.start.get('day')).toBe(22);
34
- expect(result.start.get('hour')).toBe(19);
35
-
36
- expect(result.end.get('year')).toBe(2016);
37
- expect(result.end.get('month')).toBe(2);
38
- expect(result.end.get('day')).toBe(23);
39
- expect(result.end.get('hour')).toBe(19);
40
- });
41
-
42
-
43
- testSingleCase(chrono.casual, '22-23 Feb at 7pm', new Date(2016, 3-1, 15),
44
- {forwardDate: true}, (result) => {
45
-
46
- expect(result.start.get('year')).toBe(2017);
47
- expect(result.start.get('month')).toBe(2);
48
- expect(result.start.get('day')).toBe(22);
49
- expect(result.start.get('hour')).toBe(19);
50
-
51
- expect(result.end.get('year')).toBe(2017);
52
- expect(result.end.get('month')).toBe(2);
53
- expect(result.end.get('day')).toBe(23);
54
- expect(result.end.get('hour')).toBe(19);
55
-
56
- });
28
+ var text = "22-23 Feb at 7pm";
29
+
30
+ var result = chrono.casual.parse(text, new Date(2016, 3-1, 15))[0];
31
+
32
+ if (result) {
33
+ expect(result.start.get('year')).toBe(2016);
34
+ expect(result.start.get('month')).toBe(2);
35
+ expect(result.start.get('day')).toBe(22);
36
+ expect(result.start.get('hour')).toBe(19);
37
+
38
+ expect(result.end.get('year')).toBe(2016);
39
+ expect(result.end.get('month')).toBe(2);
40
+ expect(result.end.get('day')).toBe(23);
41
+ expect(result.end.get('hour')).toBe(19);
42
+ }
43
+
44
+ var result = chrono.casual.parse(text, new Date(2016, 3-1, 15), {forwardDate: true})[0];
45
+
46
+ if (result) {
47
+ expect(result.start.get('year')).toBe(2017);
48
+ expect(result.start.get('month')).toBe(2);
49
+ expect(result.start.get('day')).toBe(22);
50
+ expect(result.start.get('hour')).toBe(19);
51
+
52
+ expect(result.end.get('year')).toBe(2017);
53
+ expect(result.end.get('month')).toBe(2);
54
+ expect(result.end.get('day')).toBe(23);
55
+ expect(result.end.get('hour')).toBe(19);
56
+ }
57
57
  });
58
58
 
59
59
  test("Test - Year Guessing (Fixed)", function() {
60
60
 
61
61
  // Parsing "February" on March (2016-02-15)
62
- testSingleCase(chrono.casual, '22-23 Feb 2016 at 7pm', new Date(2016, 3-1, 15),
63
- {forwardDate: true}, (result) => {
64
-
65
- expect(result.start.get('year')).toBe(2016);
66
- expect(result.start.get('month')).toBe(2);
67
- expect(result.start.get('day')).toBe(22);
68
- expect(result.start.get('hour')).toBe(19);
69
-
70
- expect(result.end.get('year')).toBe(2016);
71
- expect(result.end.get('month')).toBe(2);
72
- expect(result.end.get('day')).toBe(23);
73
- expect(result.end.get('hour')).toBe(19);
74
- });
62
+ var text = "22-23 Feb 2016 at 7pm";
63
+ var result = chrono.casual.parse(text, new Date(2016, 3-1, 15), {forwardDate: true})[0];
64
+
65
+ if (result) {
66
+ expect(result.start.get('year')).toBe(2016);
67
+ expect(result.start.get('month')).toBe(2);
68
+ expect(result.start.get('day')).toBe(22);
69
+ expect(result.start.get('hour')).toBe(19);
70
+
71
+ expect(result.end.get('year')).toBe(2016);
72
+ expect(result.end.get('month')).toBe(2);
73
+ expect(result.end.get('day')).toBe(23);
74
+ expect(result.end.get('hour')).toBe(19);
75
+ }
75
76
  });
76
77
 
77
78
  test("Test - Weekday Guessing", function() {
78
79
 
79
80
  // Parsing "Monday" on Thursday (2012-08-09)
80
- testSingleCase(chrono.casual, 'Monday', new Date(2012, 8-1, 9),
81
- (result) => {
82
- expect(result.start.get('year')).toBe(2012);
83
- expect(result.start.get('month')).toBe(8);
84
- expect(result.start.get('day')).toBe(6);
85
- });
86
-
87
- testSingleCase(chrono.casual, 'Monday', new Date(2012, 8-1, 9),
88
- {forwardDate: true}, (result) => {
89
-
90
- expect(result.start.get('year')).toBe(2012);
91
- expect(result.start.get('month')).toBe(8);
92
- expect(result.start.get('day')).toBe(13);
93
- });
81
+ var text = "Monday";
82
+
83
+ var result = chrono.casual.parse(text, new Date(2012, 8-1, 9))[0];
84
+
85
+ if (result) {
86
+ expect(result.start.get('year')).toBe(2012);
87
+ expect(result.start.get('month')).toBe(8);
88
+ expect(result.start.get('day')).toBe(6);
89
+ }
90
+
91
+ var result = chrono.casual.parse(text, new Date(2012, 8-1, 9), {forwardDate: true})[0];
92
+
93
+ if (result) {
94
+ expect(result.start.get('year')).toBe(2012);
95
+ expect(result.start.get('month')).toBe(8);
96
+ expect(result.start.get('day')).toBe(13);
97
+ }
94
98
  });
95
99
 
96
100
 
97
101
  test("Test - Weekday Guessing (Range)", function() {
98
102
 
99
103
  // Parsing "Monday to Wednesday" on Thursday (2012-08-09)
100
- testSingleCase(chrono.casual, 'Monday - Wednesday', new Date(2012, 8-1, 9),
101
- (result) => {
102
-
103
- expect(result.start.get('year')).toBe(2012);
104
- expect(result.start.get('month')).toBe(8);
105
- expect(result.start.get('day')).toBe(6);
106
-
107
- expect(result.end.get('year')).toBe(2012);
108
- expect(result.end.get('month')).toBe(8);
109
- expect(result.end.get('day')).toBe(8);
110
- });
111
-
112
- testSingleCase(chrono.casual, 'Monday - Wednesday', new Date(2012, 8-1, 9),
113
- {forwardDate: true}, (result) => {
114
-
115
- expect(result.start.get('year')).toBe(2012);
116
- expect(result.start.get('month')).toBe(8);
117
- expect(result.start.get('day')).toBe(13);
118
-
119
- expect(result.end.get('year')).toBe(2012);
120
- expect(result.end.get('month')).toBe(8);
121
- expect(result.end.get('day')).toBe(15);
122
- });
104
+ var text = "Monday - Wednesday";
105
+
106
+ var result = chrono.casual.parse(text, new Date(2012, 8-1, 9))[0];
107
+
108
+ if (result) {
109
+ expect(result.start.get('year')).toBe(2012);
110
+ expect(result.start.get('month')).toBe(8);
111
+ expect(result.start.get('day')).toBe(6);
112
+
113
+ expect(result.end.get('year')).toBe(2012);
114
+ expect(result.end.get('month')).toBe(8);
115
+ expect(result.end.get('day')).toBe(8);
116
+ }
117
+
118
+ var result = chrono.casual.parse(text, new Date(2012, 8-1, 9), {forwardDate: true})[0];
119
+
120
+ if (result) {
121
+ expect(result.start.get('year')).toBe(2012);
122
+ expect(result.start.get('month')).toBe(8);
123
+ expect(result.start.get('day')).toBe(13);
124
+
125
+ expect(result.end.get('year')).toBe(2012);
126
+ expect(result.end.get('month')).toBe(8);
127
+ expect(result.end.get('day')).toBe(15);
128
+ }
123
129
  });
124
130
 
125
131
 
126
132
  test("Test - Weekday Guessing (Fixed)", function() {
127
133
 
128
134
  // Parsing "Monday" on Thursday (2012-08-09)
129
- testSingleCase(chrono.casual, 'Monday last week', new Date(2012, 8-1, 9),
130
- (result) => {
131
-
132
- expect(result.start.get('year')).toBe(2012);
133
- expect(result.start.get('month')).toBe(7);
134
- expect(result.start.get('day')).toBe(30);
135
- });
136
-
137
- testSingleCase(chrono.casual, 'Monday last week', new Date(2012, 8-1, 9),
138
- {forwardDate: true}, (result) => {
139
-
140
- expect(result.start.get('year')).toBe(2012);
141
- expect(result.start.get('month')).toBe(7);
142
- expect(result.start.get('day')).toBe(30);
143
- });
135
+ var text = "Monday last week";
136
+
137
+ var result = chrono.casual.parse(text, new Date(2012, 8-1, 9))[0];
138
+
139
+ if (result) {
140
+ expect(result.start.get('year')).toBe(2012);
141
+ expect(result.start.get('month')).toBe(7);
142
+ expect(result.start.get('day')).toBe(30);
143
+ }
144
+
145
+ var result = chrono.casual.parse(text, new Date(2012, 8-1, 9), {forwardDate: true})[0];
146
+
147
+ if (result) {
148
+ expect(result.start.get('year')).toBe(2012);
149
+ expect(result.start.get('month')).toBe(7);
150
+ expect(result.start.get('day')).toBe(30);
151
+ }
144
152
  });
145
153
 
146
154