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,89 +1,102 @@
1
1
  import * as chrono from '../../src/chrono';
2
- import { testSingleCase, testUnexpectedResult } from '../test_util';
2
+ import { testSingleCase } from '../test_util';
3
3
 
4
4
  test("Test - Single Expression", function() {
5
-
6
5
  testSingleCase(chrono, 'The event is going ahead (04/2016)', new Date(2012,7,10), (result) => {
7
- expect(result.start).not.toBeNull();
8
- expect(result.start.get('year')).toBe(2016);
9
- expect(result.start.get('month')).toBe(4);
10
- expect(result.start.get('day')).toBe(1);
6
+ expect(result.start).not.toBeNull()
7
+ expect(result.start.get('year')).toBe(2016)
8
+ expect(result.start.get('month')).toBe(4)
9
+ expect(result.start.get('day')).toBe(1)
11
10
 
12
- expect(result.index).toBe(26);
13
- expect(result.text).toBe('04/2016');
11
+ expect(result.index).toBe(26)
12
+ expect(result.text).toBe('04/2016')
14
13
 
15
- expect(result.start).toBeDate(new Date(2016, 4-1, 1, 12));
14
+ var resultDate = result.start.date();
15
+ var expectDate = new Date(2016, 4-1, 1, 12);
16
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
16
17
  });
17
18
 
18
19
  testSingleCase(chrono, 'Published: 06/2004', new Date(2012,7,10), (result) => {
19
- expect(result.start).not.toBeNull();
20
- expect(result.start.get('year')).toBe(2004);
21
- expect(result.start.get('month')).toBe(6);
22
- expect(result.start.get('day')).toBe(1);
20
+ expect(result.start).not.toBeNull()
21
+ expect(result.start.get('year')).toBe(2004)
22
+ expect(result.start.get('month')).toBe(6)
23
+ expect(result.start.get('day')).toBe(1)
23
24
 
24
- expect(result.index).toBe(11);
25
- expect(result.text).toBe('06/2004');
25
+ expect(result.index).toBe(11)
26
+ expect(result.text).toBe('06/2004')
26
27
 
27
- expect(result.start).toBeDate(new Date(2004, 6-1, 1, 12));
28
+ var resultDate = result.start.date();
29
+ var expectDate = new Date(2004, 6-1, 1, 12);
30
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
28
31
  });
29
32
 
30
33
  testSingleCase(chrono, '8/10/2012', new Date(2012,7,10), (result) => {
31
- expect(result.start).not.toBeNull();
32
- expect(result.start.get('year')).toBe(2012);
33
- expect(result.start.get('month')).toBe(8);
34
- expect(result.start.get('day')).toBe(10);
34
+ expect(result.start).not.toBeNull()
35
+ expect(result.start.get('year')).toBe(2012)
36
+ expect(result.start.get('month')).toBe(8)
37
+ expect(result.start.get('day')).toBe(10)
35
38
 
36
- expect(result.index).toBe(0);
37
- expect(result.text).toBe('8/10/2012');
39
+ expect(result.index).toBe(0)
40
+ expect(result.text).toBe('8/10/2012')
38
41
 
39
42
  expect(result.start.isCertain('day')).toBe(true);
40
43
  expect(result.start.isCertain('month')).toBe(true);
41
44
  expect(result.start.isCertain('year')).toBe(true);
42
45
 
43
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
46
+ var resultDate = result.start.date();
47
+ var expectDate = new Date(2012, 8-1, 10, 12);
48
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
44
49
  });
45
50
 
46
51
  testSingleCase(chrono, ': 8/1/2012', new Date(2012,7,10), (result) => {
47
- expect(result.start).not.toBeNull();
48
- expect(result.start.get('year')).toBe(2012);
49
- expect(result.start.get('month')).toBe(8);
50
- expect(result.start.get('day')).toBe(1);
52
+ expect(result.start).not.toBeNull()
53
+ expect(result.start.get('year')).toBe(2012)
54
+ expect(result.start.get('month')).toBe(8)
55
+ expect(result.start.get('day')).toBe(1)
51
56
 
52
- expect(result.index).toBe(2);
53
- expect(result.text).toBe('8/1/2012');
57
+ expect(result.index).toBe(2)
58
+ expect(result.text).toBe('8/1/2012')
54
59
 
55
- expect(result.start).toBeDate(new Date(2012, 8-1, 1, 12));
60
+ var resultDate = result.start.date();
61
+ var expectDate = new Date(2012, 8-1, 1, 12);
62
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
56
63
  });
57
64
 
58
65
  testSingleCase(chrono, '8/10', new Date(2012,7,10), (result) => {
59
- expect(result.start).not.toBeNull();
60
- expect(result.start.get('year')).toBe(2012);
61
- expect(result.start.get('month')).toBe(8);
62
- expect(result.start.get('day')).toBe(10);
66
+ expect(result.start).not.toBeNull()
67
+ expect(result.start.get('year')).toBe(2012)
68
+ expect(result.start.get('month')).toBe(8)
69
+ expect(result.start.get('day')).toBe(10)
63
70
 
64
- expect(result.index).toBe(0);
65
- expect(result.text).toBe('8/10');
71
+ expect(result.index).toBe(0)
72
+ expect(result.text).toBe('8/10')
66
73
 
67
74
  expect(result.start.isCertain('day')).toBe(true);
68
75
  expect(result.start.isCertain('month')).toBe(true);
69
76
  expect(result.start.isCertain('year')).toBe(false);
70
77
 
71
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
78
+ var resultDate = result.start.date();
79
+ var expectDate = new Date(2012, 8-1, 10, 12);
80
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
72
81
  });
73
82
 
74
83
 
75
84
  testSingleCase(chrono, 'The Deadline is 8/10/2012', new Date(2012,7,10), (result) => {
76
- expect(result.index).toBe(16);
77
- expect(result.text).toBe('8/10/2012');
85
+ expect(result.index).toBe(16)
86
+ expect(result.text).toBe('8/10/2012')
78
87
 
79
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
88
+ var resultDate = result.start.date();
89
+ var expectDate = new Date(2012, 7, 10, 12);
90
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
80
91
  });
81
92
 
82
93
  testSingleCase(chrono, 'The Deadline is Tuesday 11/3/2015', new Date(2015,10,3), (result) => {
83
- expect(result.index).toBe(16);
84
- expect(result.text).toBe('Tuesday 11/3/2015');
94
+ expect(result.index).toBe(16)
95
+ expect(result.text).toBe('Tuesday 11/3/2015')
85
96
 
86
- expect(result.start).toBeDate(new Date(2015, 10, 3, 12));
97
+ var resultDate = result.start.date();
98
+ var expectDate = new Date(2015, 10, 3, 12);
99
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
87
100
  });
88
101
 
89
102
  });
@@ -91,30 +104,34 @@ test("Test - Single Expression", function() {
91
104
  test("Test - Single Expression Little-Endian", function() {
92
105
 
93
106
  testSingleCase(chrono.en_GB, '8/10/2012', new Date(2012,7,10), (result) => {
94
- expect(result.start).not.toBeNull();
95
- expect(result.start.get('year')).toBe(2012);
96
- expect(result.start.get('month')).toBe(10);
97
- expect(result.start.get('day')).toBe(8);
107
+ expect(result.start).not.toBeNull()
108
+ expect(result.start.get('year')).toBe(2012)
109
+ expect(result.start.get('month')).toBe(10)
110
+ expect(result.start.get('day')).toBe(8)
98
111
 
99
- expect(result.index).toBe(0);
100
- expect(result.text).toBe('8/10/2012');
112
+ expect(result.index).toBe(0)
113
+ expect(result.text).toBe('8/10/2012')
101
114
 
102
- expect(result.start).toBeDate(new Date(2012, 10-1, 8, 12));
115
+ var resultDate = result.start.date();
116
+ var expectDate = new Date(2012, 10-1, 8, 12);
117
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
103
118
  });
104
119
  });
105
120
 
106
121
  test("Test - Single Expression Little-Endian with Month name", function() {
107
122
 
108
123
  testSingleCase(chrono.en_GB, '8/Oct/2012', new Date(2012,7,10), (result) => {
109
- expect(result.start).not.toBeNull();
110
- expect(result.start.get('year')).toBe(2012);
111
- expect(result.start.get('month')).toBe(10);
112
- expect(result.start.get('day')).toBe(8);
124
+ expect(result.start).not.toBeNull()
125
+ expect(result.start.get('year')).toBe(2012)
126
+ expect(result.start.get('month')).toBe(10)
127
+ expect(result.start.get('day')).toBe(8)
113
128
 
114
- expect(result.index).toBe(0);
115
- expect(result.text).toBe('8/Oct/2012');
129
+ expect(result.index).toBe(0)
130
+ expect(result.text).toBe('8/Oct/2012')
116
131
 
117
- expect(result.start).toBeDate(new Date(2012, 10-1, 8, 12));
132
+ var resultDate = result.start.date();
133
+ var expectDate = new Date(2012, 10-1, 8, 12);
134
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
118
135
  });
119
136
  });
120
137
 
@@ -122,45 +139,53 @@ test("Test - Single Expression Little-Endian with Month name", function() {
122
139
  test("Test - Single Expression Start with Year", function() {
123
140
 
124
141
  testSingleCase(chrono, '2012/8/10', new Date(2012,7,10), (result) => {
125
- expect(result.start).not.toBeNull();
126
- expect(result.start.get('year')).toBe(2012);
127
- expect(result.start.get('month')).toBe(8);
128
- expect(result.start.get('day')).toBe(10);
142
+ expect(result.start).not.toBeNull()
143
+ expect(result.start.get('year')).toBe(2012)
144
+ expect(result.start.get('month')).toBe(8)
145
+ expect(result.start.get('day')).toBe(10)
129
146
 
130
- expect(result.index).toBe(0);
131
- expect(result.text).toBe('2012/8/10');
147
+ expect(result.index).toBe(0)
148
+ expect(result.text).toBe('2012/8/10')
132
149
 
133
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
150
+ var resultDate = result.start.date();
151
+ var expectDate = new Date(2012, 8-1, 10, 12);
152
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
134
153
  });
135
154
 
136
155
 
137
156
  testSingleCase(chrono, 'The Deadline is 2012/8/10', new Date(2012,7,10), (result) => {
138
- expect(result.index).toBe(16);
139
- expect(result.text).toBe('2012/8/10');
157
+ expect(result.index).toBe(16)
158
+ expect(result.text).toBe('2012/8/10')
140
159
 
141
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
160
+ var resultDate = result.start.date();
161
+ var expectDate = new Date(2012, 7, 10, 12);
162
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
142
163
  });
143
164
  });
144
165
 
145
166
  test("Test - Single Expression Start with Year and Month Name", function() {
146
167
 
147
168
  testSingleCase(chrono, '2012/Aug/10', new Date(2012,7,10), (result) => {
148
- expect(result.start).not.toBeNull();
149
- expect(result.start.get('year')).toBe(2012);
150
- expect(result.start.get('month')).toBe(8);
151
- expect(result.start.get('day')).toBe(10);
169
+ expect(result.start).not.toBeNull()
170
+ expect(result.start.get('year')).toBe(2012)
171
+ expect(result.start.get('month')).toBe(8)
172
+ expect(result.start.get('day')).toBe(10)
152
173
 
153
- expect(result.index).toBe(0);
154
- expect(result.text).toBe('2012/Aug/10');
174
+ expect(result.index).toBe(0)
175
+ expect(result.text).toBe('2012/Aug/10')
155
176
 
156
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
177
+ var resultDate = result.start.date();
178
+ var expectDate = new Date(2012, 8-1, 10, 12);
179
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
157
180
  });
158
181
 
159
182
  testSingleCase(chrono, 'The Deadline is 2012/aug/10', new Date(2012,7,10), (result) => {
160
- expect(result.index).toBe(16);
161
- expect(result.text).toBe('2012/aug/10');
183
+ expect(result.index).toBe(16)
184
+ expect(result.text).toBe('2012/aug/10')
162
185
 
163
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
186
+ var resultDate = result.start.date();
187
+ var expectDate = new Date(2012, 7, 10, 12);
188
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
164
189
  });
165
190
  });
166
191
 
@@ -170,22 +195,26 @@ test("Test - Range Expression", function() {
170
195
 
171
196
  testSingleCase(chrono.en, '8/10/2012 - 8/15/2012', new Date(2012,7,10), (result) => {
172
197
 
173
- expect(result.index).toBe(0);
174
- expect(result.text).toBe('8/10/2012 - 8/15/2012');
198
+ expect(result.index).toBe(0)
199
+ expect(result.text).toBe('8/10/2012 - 8/15/2012')
175
200
 
176
- expect(result.start).not.toBeNull();
177
- expect(result.start.get('year')).toBe(2012);
178
- expect(result.start.get('month')).toBe(8);
179
- expect(result.start.get('day')).toBe(10);
201
+ expect(result.start).not.toBeNull()
202
+ expect(result.start.get('year')).toBe(2012)
203
+ expect(result.start.get('month')).toBe(8)
204
+ expect(result.start.get('day')).toBe(10)
180
205
 
181
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
206
+ var resultDate = result.start.date();
207
+ var expectDate = new Date(2012, 8-1, 10, 12);
208
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
182
209
 
183
- expect(result.end).not.toBeNull();
184
- expect(result.end.get('year')).toBe(2012);
185
- expect(result.end.get('month')).toBe(8);
186
- expect(result.end.get('day')).toBe(15);
210
+ expect(result.end).not.toBeNull()
211
+ expect(result.end.get('year')).toBe(2012)
212
+ expect(result.end.get('month')).toBe(8)
213
+ expect(result.end.get('day')).toBe(15)
187
214
 
188
- expect(result.end).toBeDate(new Date(2012, 8-1, 15, 12));
215
+ var resultDate = result.end.date();
216
+ var expectDate = new Date(2012, 8-1, 15, 12);
217
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
189
218
 
190
219
  });
191
220
  });
@@ -196,25 +225,25 @@ test('Test - Random date patterns', function() {
196
225
  text = "2015-05-25";
197
226
  results = chrono.parse(text);
198
227
  resultDate = results[0].start.date();
199
- expect(results.length).toBe(1);
228
+ expect(results.length).toBe(1)
200
229
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
201
230
 
202
231
  text = "2015/05/25";
203
232
  results = chrono.parse(text);
204
233
  resultDate = results[0].start.date();
205
- expect(results.length).toBe(1);
234
+ expect(results.length).toBe(1)
206
235
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
207
236
 
208
237
  var text = "05-25-2015";
209
238
  var results = chrono.parse(text);
210
239
  var resultDate = results[0].start.date();
211
- expect(results.length).toBe(1);
240
+ expect(results.length).toBe(1)
212
241
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
213
242
 
214
243
  text = "05/25/2015";
215
244
  results = chrono.parse(text);
216
245
  resultDate = results[0].start.date();
217
- expect(results.length).toBe(1);
246
+ expect(results.length).toBe(1)
218
247
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
219
248
 
220
249
  text = "05.25.2015";
@@ -227,7 +256,7 @@ test('Test - Random date patterns', function() {
227
256
  text = "25/05/2015";
228
257
  results = chrono.parse(text);
229
258
  resultDate = results[0].start.date();
230
- expect(results.length).toBe(1);
259
+ expect(results.length).toBe(1)
231
260
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
232
261
 
233
262
  // ambiguous US date pattern, expected 5th of June
@@ -235,42 +264,42 @@ test('Test - Random date patterns', function() {
235
264
  text = "06/05/2015";
236
265
  results = chrono.parse(text);
237
266
  resultDate = results[0].start.date();
238
- expect(results.length).toBe(1);
267
+ expect(results.length).toBe(1)
239
268
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
240
269
 
241
270
  expectDate = new Date(2015, 7, 13, 12, 0);
242
271
  text = "2015.8.13";
243
272
  results = chrono.parse(text);
244
273
  resultDate = results[0].start.date();
245
- expect(results.length).toBe(1);
274
+ expect(results.length).toBe(1)
246
275
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
247
276
 
248
277
  expectDate = new Date(2015, 7, 13, 12, 0);
249
278
  text = "2015.08.13";
250
279
  results = chrono.parse(text);
251
280
  resultDate = results[0].start.date();
252
- expect(results.length).toBe(1);
281
+ expect(results.length).toBe(1)
253
282
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
254
283
 
255
284
  expectDate = new Date(2015, 7, 13, 12, 0);
256
285
  text = "2015.08.13";
257
286
  results = chrono.parse(text);
258
287
  resultDate = results[0].start.date();
259
- expect(results.length).toBe(1);
288
+ expect(results.length).toBe(1)
260
289
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
261
290
 
262
291
  expectDate = new Date(2007, 7, 13, 12, 0);
263
292
  text = "2007/8/13";
264
293
  results = chrono.parse(text);
265
294
  resultDate = results[0].start.date();
266
- expect(results.length).toBe(1);
295
+ expect(results.length).toBe(1)
267
296
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
268
297
 
269
298
  expectDate = new Date(2007, 7, 13, 12, 0);
270
299
  text = "2007/08/13";
271
300
  results = chrono.parse(text);
272
301
  resultDate = results[0].start.date();
273
- expect(results.length).toBe(1);
302
+ expect(results.length).toBe(1)
274
303
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
275
304
 
276
305
 
@@ -278,29 +307,39 @@ test('Test - Random date patterns', function() {
278
307
  text = "8/13/99";
279
308
  results = chrono.parse(text);
280
309
  resultDate = results[0].start.date();
281
- expect(results.length).toBe(1);
310
+ expect(results.length).toBe(1)
282
311
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
283
312
 
284
313
  expectDate = new Date(1989, 7, 13, 12, 0);
285
314
  text = "8/13/89";
286
315
  results = chrono.parse(text);
287
316
  resultDate = results[0].start.date();
288
- expect(results.length).toBe(1);
317
+ expect(results.length).toBe(1)
289
318
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
290
319
  });
291
320
 
292
321
 
293
322
  test("Test - Impossible Date (Strict Mode)", function() {
294
323
 
295
- testUnexpectedResult(chrono.strict, '8/32/2014', new Date(2012,7,10));
324
+ var text = "8/32/2014";
325
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
326
+ expect(results.length).toBe(0)
296
327
 
297
- testUnexpectedResult(chrono.strict, '8/32', new Date(2012,7,10));
328
+ var text = "8/32";
329
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
330
+ expect(results.length).toBe(0)
298
331
 
299
- testUnexpectedResult(chrono.strict, '2/29/2014', new Date(2012,7,10));
332
+ var text = "2/29/2014";
333
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
334
+ expect(results.length).toBe(0)
300
335
 
301
- testUnexpectedResult(chrono.strict, '2014/22/29', new Date(2012,7,10));
336
+ var text = "2014/22/29";
337
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
338
+ expect(results.length).toBe(0)
302
339
 
303
- testUnexpectedResult(chrono.strict, '2014/13/22', new Date(2012,7,10))
340
+ var text = "2014/13/22";
341
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
342
+ expect(results.length).toBe(0)
304
343
  });
305
344
 
306
345
 
@@ -310,26 +349,28 @@ test("Test - Impossible Dates (Casual Mode)", function() {
310
349
  var expectDate = new Date(2015, 9, 1, 12, 0);
311
350
  var results = chrono.parse(text);
312
351
  var resultDate = results[0].start.date();
313
- expect(results.length).toBe(1);
352
+ expect(results.length).toBe(1)
314
353
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
315
354
  });
316
355
 
317
356
  test('Test - forward dates only option', function () {
318
357
 
319
358
  testSingleCase(chrono, '5/31', new Date(1999, 6-1, 1), {forwardDate: true}, (result) => {
320
- expect(result.start).not.toBeNull();
321
- expect(result.start.get('year')).toBe(2000);
322
- expect(result.start.get('month')).toBe(5);
323
- expect(result.start.get('day')).toBe(31);
359
+ expect(result.start).not.toBeNull()
360
+ expect(result.start.get('year')).toBe(2000)
361
+ expect(result.start.get('month')).toBe(5)
362
+ expect(result.start.get('day')).toBe(31)
324
363
 
325
- expect(result.index).toBe(0);
326
- expect(result.text).toBe('5/31');
364
+ expect(result.index).toBe(0)
365
+ expect(result.text).toBe('5/31')
327
366
 
328
367
  expect(result.start.isCertain('day')).toBe(true);
329
368
  expect(result.start.isCertain('month')).toBe(true);
330
369
  expect(result.start.isCertain('year')).toBe(false);
331
370
 
332
- expect(result.start).toBeDate(new Date(2000, 5-1, 31, 12));
371
+ var resultDate = result.start.date();
372
+ var expectDate = new Date(2000, 5-1, 31, 12);
373
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
333
374
  });
334
375
 
335
376
  });