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
@@ -1,10 +1,14 @@
1
- import * as chrono from '../../src/chrono';
2
- import { testSingleCase, testUnexpectedResult } from '../test_util';
1
+ var chrono = require('../../src/chrono');
3
2
 
4
3
  test("Test - Single expression", function() {
5
4
 
6
5
 
7
- testSingleCase(chrono, '10 Août 2012', new Date(2012,7,10), (result) => {
6
+ var text = "10 Août 2012";
7
+ var results = chrono.parse(text, new Date(2012,7,10));
8
+ expect(results.length).toBe(1);
9
+
10
+ var result = results[0];
11
+ if (result) {
8
12
  expect(result.start).not.toBeNull();
9
13
  expect(result.start.get('year')).toBe(2012);
10
14
  expect(result.start.get('month')).toBe(8);
@@ -13,10 +17,17 @@ test("Test - Single expression", function() {
13
17
  expect(result.index).toBe(0);
14
18
  expect(result.text).toBe('10 Août 2012');
15
19
 
16
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
17
- });
20
+ var resultDate = result.start.date();
21
+ var expectDate = new Date(2012, 8-1, 10, 12);
22
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
23
+ }
24
+
25
+ var text = "8 Février";
26
+ var results = chrono.parse(text, new Date(2012,7,10));
27
+ expect(results.length).toBe(1);
18
28
 
19
- testSingleCase(chrono, '8 Février', new Date(2012,7,10), (result) => {
29
+ var result = results[0];
30
+ if (result) {
20
31
  expect(result.start).not.toBeNull();
21
32
  expect(result.start.get('year')).toBe(2013);
22
33
  expect(result.start.get('month')).toBe(2);
@@ -25,11 +36,18 @@ test("Test - Single expression", function() {
25
36
  expect(result.index).toBe(0);
26
37
  expect(result.text).toBe('8 Février');
27
38
 
28
- expect(result.start).toBeDate(new Date(2013, 2-1, 8, 12));
29
- });
39
+ var resultDate = result.start.date();
40
+ var expectDate = new Date(2013, 2-1, 8, 12);
41
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
42
+ }
43
+
30
44
 
45
+ var text = "1er Août 2012";
46
+ var results = chrono.parse(text, new Date(2012,7,1));
47
+ expect(results.length).toBe(1);
31
48
 
32
- testSingleCase(chrono, '1er Août 2012', new Date(2012,7,1), (result) => {
49
+ var result = results[0];
50
+ if (result) {
33
51
  expect(result.start).not.toBeNull();
34
52
  expect(result.start.get('year')).toBe(2012);
35
53
  expect(result.start.get('month')).toBe(8);
@@ -38,11 +56,18 @@ test("Test - Single expression", function() {
38
56
  expect(result.index).toBe(0);
39
57
  expect(result.text).toBe('1er Août 2012');
40
58
 
41
- expect(result.start).toBeDate(new Date(2012, 8-1, 1, 12));
42
- });
59
+ var resultDate = result.start.date();
60
+ var expectDate = new Date(2012, 8-1, 1, 12);
61
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
62
+ }
43
63
 
44
64
 
45
- testSingleCase(chrono, '10 Août 234 AC', new Date(2012,7,10), (result) => {
65
+ var text = "10 Août 234 AC";
66
+ var results = chrono.parse(text, new Date(2012,7,10));
67
+ expect(results.length).toBe(1)
68
+
69
+ var result = results[0];
70
+ if (result) {
46
71
  expect(result.index).toBe(0)
47
72
  expect(result.text).toBe('10 Août 234 AC')
48
73
 
@@ -51,11 +76,18 @@ test("Test - Single expression", function() {
51
76
  expect(result.start.get('month')).toBe(8)
52
77
  expect(result.start.get('day')).toBe(10)
53
78
 
54
- expect(result.start).toBeDate(new Date(-234, 8-1, 10, 12));
55
- });
79
+ var resultDate = result.start.date();
80
+ var expectDate = new Date(-234, 8-1, 10, 12);
81
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
82
+ }
83
+
56
84
 
85
+ var text = "10 Août 88 p. Chr. n.";
86
+ var results = chrono.parse(text, new Date(2012,7,10));
87
+ expect(results.length).toBe(1)
57
88
 
58
- testSingleCase(chrono, '10 Août 88 p. Chr. n.', new Date(2012,7,10), (result) => {
89
+ var result = results[0];
90
+ if (result) {
59
91
  expect(result.index).toBe(0)
60
92
  expect(result.text).toBe('10 Août 88 p. Chr. n.')
61
93
 
@@ -68,10 +100,15 @@ test("Test - Single expression", function() {
68
100
  var expectDate = new Date(88, 8-1, 10, 12);
69
101
  expectDate.setFullYear(88);
70
102
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
71
- });
103
+ }
104
+
72
105
 
106
+ var text = 'Dim 15 Sept';
107
+ var results = chrono.parse(text, new Date(2013,7,10));
108
+ expect(results.length).toBe(1);
73
109
 
74
- testSingleCase(chrono, 'Dim 15 Sept', new Date(2013,7,10), (result) => {
110
+ var result = results[0];
111
+ if(result){
75
112
  expect(result.index).toBe(0);
76
113
  expect(result.text).toBe('Dim 15 Sept');
77
114
 
@@ -80,10 +117,17 @@ test("Test - Single expression", function() {
80
117
  expect(result.start.get('month')).toBe(9);
81
118
  expect(result.start.get('day')).toBe(15);
82
119
 
83
- expect(result.start).toBeDate(new Date(2013, 9-1, 15, 12));
84
- });
120
+ var resultDate = result.start.date();
121
+ var expectDate = new Date(2013, 9-1, 15, 12);
122
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
123
+ }
85
124
 
86
- testSingleCase(chrono, 'DIM 15SEPT', new Date(2013,7,10), (result) => {
125
+ var text = 'DIM 15SEPT';
126
+ var results = chrono.parse(text, new Date(2013,7,10));
127
+ expect(results.length).toBe(1);
128
+
129
+ var result = results[0];
130
+ if(result){
87
131
  expect(result.index).toBe(0);
88
132
  expect(result.text).toBe('DIM 15SEPT');
89
133
 
@@ -92,10 +136,17 @@ test("Test - Single expression", function() {
92
136
  expect(result.start.get('month')).toBe(9);
93
137
  expect(result.start.get('day')).toBe(15);
94
138
 
95
- expect(result.start).toBeDate(new Date(2013, 9-1, 15, 12));
96
- });
139
+ var resultDate = result.start.date();
140
+ var expectDate = new Date(2013, 9-1, 15, 12);
141
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
142
+ }
143
+
144
+ var text = "La date limite est le 10 Août";
145
+ var results = chrono.parse(text, new Date(2012,7,10));
146
+ expect(results.length).toBe(1);
97
147
 
98
- testSingleCase(chrono, 'La date limite est le 10 Août', new Date(2012,7,10), (result) => {
148
+ var result = results[0];
149
+ if (result) {
99
150
 
100
151
  expect(result.index).toBe(22);
101
152
  expect(result.text).toBe('10 Août');
@@ -105,11 +156,18 @@ test("Test - Single expression", function() {
105
156
  expect(result.start.get('month')).toBe(8);
106
157
  expect(result.start.get('day')).toBe(10);
107
158
 
108
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
109
- });
159
+ var resultDate = result.start.date();
160
+ var expectDate = new Date(2012, 8-1, 10, 12);
161
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
162
+ }
163
+
110
164
 
165
+ var text = "La date limite est le Mardi 10 janvier";
166
+ var results = chrono.parse(text, new Date(2012,7,10));
167
+ expect(results.length).toBe(1);
111
168
 
112
- testSingleCase(chrono, 'La date limite est le Mardi 10 janvier', new Date(2012,7,10), (result) => {
169
+ var result = results[0];
170
+ if (result) {
113
171
 
114
172
  expect(result.index).toBe(22);
115
173
  expect(result.text).toBe('Mardi 10 janvier');
@@ -120,11 +178,18 @@ test("Test - Single expression", function() {
120
178
  expect(result.start.get('day')).toBe(10);
121
179
  expect(result.start.get('weekday')).toBe(2);
122
180
 
123
- expect(result.start).toBeDate(new Date(2013, 1-1, 10, 12));
124
- });
181
+ var resultDate = result.start.date();
182
+ var expectDate = new Date(2013, 1-1, 10, 12);
183
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
184
+ }
185
+
125
186
 
187
+ var text = "La date limite est Mar 10 Jan";
188
+ var results = chrono.parse(text, new Date(2012,7,10));
189
+ expect(results.length).toBe(1);
126
190
 
127
- testSingleCase(chrono, 'La date limite est Mar 10 Jan', new Date(2012,7,10), (result) => {
191
+ var result = results[0];
192
+ if (result) {
128
193
 
129
194
  expect(result.index).toBe(19);
130
195
  expect(result.text).toBe('Mar 10 Jan');
@@ -135,11 +200,18 @@ test("Test - Single expression", function() {
135
200
  expect(result.start.get('day')).toBe(10);
136
201
  expect(result.start.get('weekday')).toBe(2);
137
202
 
138
- expect(result.start).toBeDate(new Date(2013, 1-1, 10, 12));
139
- });
203
+ var resultDate = result.start.date();
204
+ var expectDate = new Date(2013, 1-1, 10, 12);
205
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
206
+ }
207
+
140
208
 
209
+ var text = "31 mars 2016";
210
+ var results = chrono.parse(text, new Date(2012,7,10));
211
+ expect(results.length).toBe(1);
141
212
 
142
- testSingleCase(chrono, '31 mars 2016', new Date(2012,7,10), (result) => {
213
+ var result = results[0];
214
+ if (result) {
143
215
 
144
216
  expect(result.index).toBe(0);
145
217
  expect(result.text).toBe('31 mars 2016');
@@ -149,15 +221,22 @@ test("Test - Single expression", function() {
149
221
  expect(result.start.get('month')).toBe(3);
150
222
  expect(result.start.get('day')).toBe(31);
151
223
 
152
- expect(result.start).toBeDate(new Date(2016, 3-1, 31, 12));
153
- });
224
+ var resultDate = result.start.date();
225
+ var expectDate = new Date(2016, 3-1, 31, 12);
226
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
227
+ }
154
228
  });
155
229
 
156
230
 
157
231
  test("Test - Range expression", function() {
158
232
 
159
233
 
160
- testSingleCase(chrono, '10 - 22 août 2012', new Date(2012,7,10), (result) => {
234
+ var text = "10 - 22 août 2012";
235
+ var results = chrono.parse(text, new Date(2012,7,10));
236
+ expect(results.length).toBe(1);
237
+
238
+ var result = results[0];
239
+ if(result){
161
240
 
162
241
  expect(result.index).toBe(0);
163
242
  expect(result.text).toBe('10 - 22 août 2012');
@@ -167,7 +246,9 @@ test("Test - Range expression", function() {
167
246
  expect(result.start.get('month')).toBe(8);
168
247
  expect(result.start.get('day')).toBe(10);
169
248
 
170
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
249
+ var resultDate = result.start.date();
250
+ var expectDate = new Date(2012, 8-1, 10, 12);
251
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
171
252
 
172
253
 
173
254
  expect(result.end).not.toBeNull();
@@ -175,11 +256,18 @@ test("Test - Range expression", function() {
175
256
  expect(result.end.get('month')).toBe(8);
176
257
  expect(result.end.get('day')).toBe(22);
177
258
 
178
- expect(result.end).toBeDate(new Date(2012, 8-1, 22, 12));
179
- });
259
+ var resultDate = result.end.date();
260
+ var expectDate = new Date(2012, 8-1, 22, 12);
261
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
262
+ }
180
263
 
181
264
 
182
- testSingleCase(chrono, '10 au 22 août 2012', new Date(2012,7,10), (result) => {
265
+ var text = "10 au 22 août 2012";
266
+ var results = chrono.parse(text, new Date(2012,7,10));
267
+ expect(results.length).toBe(1);
268
+
269
+ var result = results[0];
270
+ if(result){
183
271
 
184
272
  expect(result.index).toBe(0);
185
273
  expect(result.text).toBe('10 au 22 août 2012');
@@ -189,7 +277,9 @@ test("Test - Range expression", function() {
189
277
  expect(result.start.get('month')).toBe(8);
190
278
  expect(result.start.get('day')).toBe(10);
191
279
 
192
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
280
+ var resultDate = result.start.date();
281
+ var expectDate = new Date(2012, 8-1, 10, 12);
282
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
193
283
 
194
284
 
195
285
  expect(result.end).not.toBeNull();
@@ -197,10 +287,17 @@ test("Test - Range expression", function() {
197
287
  expect(result.end.get('month')).toBe(8);
198
288
  expect(result.end.get('day')).toBe(22);
199
289
 
200
- expect(result.end).toBeDate(new Date(2012, 8-1, 22, 12));
201
- });
290
+ var resultDate = result.end.date();
291
+ var expectDate = new Date(2012, 8-1, 22, 12);
292
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
293
+ }
294
+
295
+ var text = "10 août - 12 septembre";
296
+ var results = chrono.parse(text, new Date(2012,7,10));
297
+ expect(results.length).toBe(1);
202
298
 
203
- testSingleCase(chrono, '10 août - 12 septembre', new Date(2012,7,10), (result) => {
299
+ var result = results[0];
300
+ if(result){
204
301
 
205
302
  expect(result.index).toBe(0);
206
303
  expect(result.text).toBe('10 août - 12 septembre');
@@ -210,7 +307,9 @@ test("Test - Range expression", function() {
210
307
  expect(result.start.get('month')).toBe(8);
211
308
  expect(result.start.get('day')).toBe(10);
212
309
 
213
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
310
+ var resultDate = result.start.date();
311
+ var expectDate = new Date(2012, 8-1, 10, 12);
312
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
214
313
 
215
314
 
216
315
  expect(result.end).not.toBeNull();
@@ -218,10 +317,17 @@ test("Test - Range expression", function() {
218
317
  expect(result.end.get('month')).toBe(9);
219
318
  expect(result.end.get('day')).toBe(12);
220
319
 
221
- expect(result.end).toBeDate(new Date(2012, 9-1, 12, 12));
222
- });
320
+ var resultDate = result.end.date();
321
+ var expectDate = new Date(2012, 9-1, 12, 12);
322
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
323
+ }
324
+
325
+ var text = "10 août - 12 septembre 2013";
326
+ var results = chrono.parse(text, new Date(2012,7,10));
327
+ expect(results.length).toBe(1);
223
328
 
224
- testSingleCase(chrono, '10 août - 12 septembre 2013', new Date(2012,7,10), (result) => {
329
+ var result = results[0];
330
+ if(result){
225
331
 
226
332
  expect(result.index).toBe(0);
227
333
  expect(result.text).toBe('10 août - 12 septembre 2013');
@@ -231,7 +337,9 @@ test("Test - Range expression", function() {
231
337
  expect(result.start.get('month')).toBe(8);
232
338
  expect(result.start.get('day')).toBe(10);
233
339
 
234
- expect(result.start).toBeDate(new Date(2013, 8-1, 10, 12));
340
+ var resultDate = result.start.date();
341
+ var expectDate = new Date(2013, 8-1, 10, 12);
342
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
235
343
 
236
344
 
237
345
  expect(result.end).not.toBeNull();
@@ -239,14 +347,21 @@ test("Test - Range expression", function() {
239
347
  expect(result.end.get('month')).toBe(9);
240
348
  expect(result.end.get('day')).toBe(12);
241
349
 
242
- expect(result.end).toBeDate(new Date(2013, 9-1, 12, 12));
243
- });
350
+ var resultDate = result.end.date();
351
+ var expectDate = new Date(2013, 9-1, 12, 12);
352
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
353
+ }
244
354
  });
245
355
 
246
356
 
247
357
  test("Test - Combined expression", function() {
248
358
 
249
- testSingleCase(chrono, '12 juillet à 19:00', new Date(2012,7,10), (result) => {
359
+ var text = "12 juillet à 19:00";
360
+ var results = chrono.parse(text, new Date(2012,7,10));
361
+ expect(results.length).toBe(1);
362
+
363
+ var result = results[0];
364
+ if(result){
250
365
  expect(result.index).toBe(0);
251
366
  expect(result.text).toBe('12 juillet à 19:00');
252
367
 
@@ -256,11 +371,18 @@ test("Test - Combined expression", function() {
256
371
  expect(result.start.get('day')).toBe(12);
257
372
 
258
373
 
259
- expect(result.start).toBeDate(new Date(2012, 7-1, 12, 19, 0));
260
- });
374
+ var resultDate = result.start.date();
375
+ var expectDate = new Date(2012, 7-1, 12, 19, 0);
376
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
377
+ }
378
+
261
379
 
380
+ var text = "5 mai 12:00";
381
+ var results = chrono.parse(text, new Date(2012,7,10));
382
+ expect(results.length).toBe(1);
262
383
 
263
- testSingleCase(chrono, '5 mai 12:00', new Date(2012,7,10), (result) => {
384
+ var result = results[0];
385
+ if(result){
264
386
  expect(result.index).toBe(0);
265
387
  expect(result.text).toBe('5 mai 12:00');
266
388
 
@@ -270,11 +392,18 @@ test("Test - Combined expression", function() {
270
392
  expect(result.start.get('day')).toBe(5);
271
393
 
272
394
 
273
- expect(result.start).toBeDate(new Date(2012, 5-1, 5, 12, 0));
274
- });
395
+ var resultDate = result.start.date();
396
+ var expectDate = new Date(2012, 5-1, 5, 12, 0);
397
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
398
+ }
275
399
 
276
400
 
277
- testSingleCase(chrono, '7 Mai 11:00', new Date(2012,7,10), (result) => {
401
+ var text = "7 Mai 11:00";
402
+ var results = chrono.parse(text, new Date(2012,7,10));
403
+ expect(results.length).toBe(1);
404
+
405
+ var result = results[0];
406
+ if(result){
278
407
  expect(result.index).toBe(0);
279
408
  expect(result.text).toBe('7 Mai 11:00');
280
409
 
@@ -284,21 +413,31 @@ test("Test - Combined expression", function() {
284
413
  expect(result.start.get('day')).toBe(7);
285
414
  expect(result.start.get('hour')).toBe(11);
286
415
 
287
- expect(result.start).toBeDate(new Date(2012, 5-1, 7, 11, 0));
288
- });
416
+ var resultDate = result.start.date();
417
+ var expectDate = new Date(2012, 5-1, 7, 11, 0);
418
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
419
+ }
289
420
 
290
421
 
291
422
  });
292
423
 
293
424
  test("Test - Impossible Dates (Strict Mode)", function() {
294
425
 
295
- testUnexpectedResult(chrono.strict, '32 Août 2014', new Date(2012,7,10));
426
+ var text = "32 Août 2014";
427
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
428
+ expect(results.length).toBe(0);
296
429
 
297
- testUnexpectedResult(chrono.strict, '29 Février 2014', new Date(2012,7,10));
430
+ var text = "29 Février 2014";
431
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
432
+ expect(results.length).toBe(0);
298
433
 
299
- testUnexpectedResult(chrono.strict, '32 Aout', new Date(2012,7,10));
434
+ var text = "32 Aout";
435
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
436
+ expect(results.length).toBe(0);
300
437
 
301
- testUnexpectedResult(chrono.strict, '29 Fevrier', new Date(2013,7,10))
438
+ var text = "29 Fevrier";
439
+ var results = chrono.strict.parse(text, new Date(2013,7,10));
440
+ expect(results.length).toBe(0)
302
441
 
303
442
  });
304
443
 
@@ -316,7 +455,12 @@ test("Test - Impossible Dates (Casual Mode)", function() {
316
455
  test("Test - accentuated versions", function() {
317
456
 
318
457
 
319
- testSingleCase(chrono, '10 Août 2012', new Date(2012,7,10), (result) => {
458
+ var text = "10 Août 2012";
459
+ var results = chrono.parse(text, new Date(2012,7,10));
460
+ expect(results.length).toBe(1);
461
+
462
+ var result = results[0];
463
+ if (result) {
320
464
  expect(result.start).not.toBeNull();
321
465
  expect(result.start.get('year')).toBe(2012);
322
466
  expect(result.start.get('month')).toBe(8);
@@ -325,10 +469,17 @@ test("Test - accentuated versions", function() {
325
469
  expect(result.index).toBe(0);
326
470
  expect(result.text).toBe('10 Août 2012');
327
471
 
328
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
329
- });
472
+ var resultDate = result.start.date();
473
+ var expectDate = new Date(2012, 8-1, 10, 12);
474
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
475
+ }
476
+
477
+ var text = "10 Février 2012";
478
+ var results = chrono.parse(text, new Date(2012,7,10));
479
+ expect(results.length).toBe(1);
330
480
 
331
- testSingleCase(chrono, '10 Février 2012', new Date(2012,7,10), (result) => {
481
+ var result = results[0];
482
+ if (result) {
332
483
  expect(result.start).not.toBeNull();
333
484
  expect(result.start.get('year')).toBe(2012);
334
485
  expect(result.start.get('month')).toBe(2);
@@ -337,10 +488,17 @@ test("Test - accentuated versions", function() {
337
488
  expect(result.index).toBe(0);
338
489
  expect(result.text).toBe('10 Février 2012');
339
490
 
340
- expect(result.start).toBeDate(new Date(2012, 2-1, 10, 12));
341
- });
491
+ var resultDate = result.start.date();
492
+ var expectDate = new Date(2012, 2-1, 10, 12);
493
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
494
+ }
495
+
496
+ var text = "10 Décembre 2012";
497
+ var results = chrono.parse(text, new Date(2012,7,10));
498
+ expect(results.length).toBe(1);
342
499
 
343
- testSingleCase(chrono, '10 Décembre 2012', new Date(2012,7,10), (result) => {
500
+ var result = results[0];
501
+ if (result) {
344
502
  expect(result.start).not.toBeNull();
345
503
  expect(result.start.get('year')).toBe(2012);
346
504
  expect(result.start.get('month')).toBe(12);
@@ -349,15 +507,22 @@ test("Test - accentuated versions", function() {
349
507
  expect(result.index).toBe(0);
350
508
  expect(result.text).toBe('10 Décembre 2012');
351
509
 
352
- expect(result.start).toBeDate(new Date(2012, 12-1, 10, 12));
353
- });
510
+ var resultDate = result.start.date();
511
+ var expectDate = new Date(2012, 12-1, 10, 12);
512
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
513
+ }
354
514
  });
355
515
 
356
516
 
357
517
  test("Test - unaccentuated versions", function() {
358
518
 
359
519
 
360
- testSingleCase(chrono, '10 Aout 2012', new Date(2012,7,10), (result) => {
520
+ var text = "10 Aout 2012";
521
+ var results = chrono.parse(text, new Date(2012,7,10));
522
+ expect(results.length).toBe(1);
523
+
524
+ var result = results[0];
525
+ if (result) {
361
526
  expect(result.start).not.toBeNull();
362
527
  expect(result.start.get('year')).toBe(2012);
363
528
  expect(result.start.get('month')).toBe(8);
@@ -366,10 +531,17 @@ test("Test - unaccentuated versions", function() {
366
531
  expect(result.index).toBe(0);
367
532
  expect(result.text).toBe('10 Aout 2012');
368
533
 
369
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
370
- });
534
+ var resultDate = result.start.date();
535
+ var expectDate = new Date(2012, 8-1, 10, 12);
536
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
537
+ }
538
+
539
+ var text = "10 Fevrier 2012";
540
+ var results = chrono.parse(text, new Date(2012,7,10));
541
+ expect(results.length).toBe(1);
371
542
 
372
- testSingleCase(chrono, '10 Fevrier 2012', new Date(2012,7,10), (result) => {
543
+ var result = results[0];
544
+ if (result) {
373
545
  expect(result.start).not.toBeNull();
374
546
  expect(result.start.get('year')).toBe(2012);
375
547
  expect(result.start.get('month')).toBe(2);
@@ -378,10 +550,17 @@ test("Test - unaccentuated versions", function() {
378
550
  expect(result.index).toBe(0);
379
551
  expect(result.text).toBe('10 Fevrier 2012');
380
552
 
381
- expect(result.start).toBeDate(new Date(2012, 2-1, 10, 12));
382
- });
553
+ var resultDate = result.start.date();
554
+ var expectDate = new Date(2012, 2-1, 10, 12);
555
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
556
+ }
557
+
558
+ var text = "10 Decembre 2012";
559
+ var results = chrono.parse(text, new Date(2012,7,10));
560
+ expect(results.length).toBe(1);
383
561
 
384
- testSingleCase(chrono, '10 Decembre 2012', new Date(2012,7,10), (result) => {
562
+ var result = results[0];
563
+ if (result) {
385
564
  expect(result.start).not.toBeNull();
386
565
  expect(result.start.get('year')).toBe(2012);
387
566
  expect(result.start.get('month')).toBe(12);
@@ -390,6 +569,8 @@ test("Test - unaccentuated versions", function() {
390
569
  expect(result.index).toBe(0);
391
570
  expect(result.text).toBe('10 Decembre 2012');
392
571
 
393
- expect(result.start).toBeDate(new Date(2012, 12-1, 10, 12));
394
- });
572
+ var resultDate = result.start.date();
573
+ var expectDate = new Date(2012, 12-1, 10, 12);
574
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
575
+ }
395
576
  });