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,116 +1,169 @@
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 Agosto 2012', new Date(2012,7,10), (result) => {
8
- expect(result.start).not.toBeNull();
9
- expect(result.start.get('year')).toBe(2012);
10
- expect(result.start.get('month')).toBe(8);
11
- expect(result.start.get('day')).toBe(10);
6
+ var text = "10 Agosto 2012";
7
+ var results = chrono.parse(text, new Date(2012,7,10));
8
+ expect(results.length).toBe(1)
12
9
 
13
- expect(result.index).toBe(0);
14
- expect(result.text).toBe('10 Agosto 2012');
10
+ var result = results[0];
11
+ if (result) {
12
+ expect(result.start).not.toBeNull()
13
+ expect(result.start.get('year')).toBe(2012)
14
+ expect(result.start.get('month')).toBe(8)
15
+ expect(result.start.get('day')).toBe(10)
15
16
 
16
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
17
- });
17
+ expect(result.index).toBe(0)
18
+ expect(result.text).toBe('10 Agosto 2012')
18
19
 
19
- testSingleCase(chrono, '10 Agosto 234 AC', new Date(2012,7,10), (result) => {
20
- expect(result.index).toBe(0);
21
- expect(result.text).toBe('10 Agosto 234 AC');
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 = "10 Agosto 234 AC";
26
+ var results = chrono.parse(text, new Date(2012,7,10));
27
+ expect(results.length).toBe(1)
22
28
 
23
- expect(result.start).not.toBeNull();
24
- expect(result.start.get('year')).toBe(-234);
25
- expect(result.start.get('month')).toBe(8);
26
- expect(result.start.get('day')).toBe(10);
29
+ var result = results[0];
30
+ if (result) {
31
+ expect(result.index).toBe(0)
32
+ expect(result.text).toBe('10 Agosto 234 AC')
27
33
 
28
- expect(result.start).toBeDate(new Date(-234, 8-1, 10, 12));
29
- });
34
+ expect(result.start).not.toBeNull()
35
+ expect(result.start.get('year')).toBe(-234)
36
+ expect(result.start.get('month')).toBe(8)
37
+ expect(result.start.get('day')).toBe(10)
38
+
39
+ var resultDate = result.start.date();
40
+ var expectDate = new Date(-234, 8-1, 10, 12);
41
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
42
+ }
30
43
 
31
44
 
32
- testSingleCase(chrono, '10 Agosto 88 d. C.', new Date(2012,7,10), (result) => {
33
- expect(result.index).toBe(0);
34
- expect(result.text).toBe('10 Agosto 88 d. C.');
45
+ var text = "10 Agosto 88 d. C.";
46
+ var results = chrono.parse(text, new Date(2012,7,10));
47
+ expect(results.length).toBe(1)
35
48
 
36
- expect(result.start).not.toBeNull();
37
- expect(result.start.get('year')).toBe(88);
38
- expect(result.start.get('month')).toBe(8);
39
- expect(result.start.get('day')).toBe(10);
49
+ var result = results[0];
50
+ if (result) {
51
+ expect(result.index).toBe(0)
52
+ expect(result.text).toBe('10 Agosto 88 d. C.')
53
+
54
+ expect(result.start).not.toBeNull()
55
+ expect(result.start.get('year')).toBe(88)
56
+ expect(result.start.get('month')).toBe(8)
57
+ expect(result.start.get('day')).toBe(10)
40
58
 
41
59
  var resultDate = result.start.date();
42
60
  var expectDate = new Date(88, 8-1, 10, 12);
43
61
  expectDate.setFullYear(88);
44
62
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
45
- });
63
+ }
46
64
 
47
65
 
48
- testSingleCase(chrono, 'Dom 15Sep', new Date(2013,7,10), (result) => {
49
- expect(result.index).toBe(0);
50
- expect(result.text).toBe('Dom 15Sep');
66
+ var text = 'Dom 15Sep';
67
+ var results = chrono.parse(text, new Date(2013,7,10));
68
+ expect(results.length).toBe(1)
51
69
 
52
- expect(result.start).not.toBeNull();
53
- expect(result.start.get('year')).toBe(2013);
54
- expect(result.start.get('month')).toBe(9);
55
- expect(result.start.get('day')).toBe(15);
70
+ var result = results[0];
71
+ if(result){
72
+ expect(result.index).toBe(0)
73
+ expect(result.text).toBe('Dom 15Sep')
56
74
 
57
- expect(result.start).toBeDate(new Date(2013, 9-1, 15, 12));
58
- });
75
+ expect(result.start).not.toBeNull()
76
+ expect(result.start.get('year')).toBe(2013)
77
+ expect(result.start.get('month')).toBe(9)
78
+ expect(result.start.get('day')).toBe(15)
59
79
 
60
- testSingleCase(chrono, 'DOM 15SEP', new Date(2013,7,10), (result) => {
61
- expect(result.index).toBe(0);
62
- expect(result.text).toBe('DOM 15SEP');
80
+ var resultDate = result.start.date();
81
+ var expectDate = new Date(2013, 9-1, 15, 12);
82
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
83
+ }
63
84
 
64
- expect(result.start).not.toBeNull();
65
- expect(result.start.get('year')).toBe(2013);
66
- expect(result.start.get('month')).toBe(9);
67
- expect(result.start.get('day')).toBe(15);
85
+ var text = 'DOM 15SEP';
86
+ var results = chrono.parse(text, new Date(2013,7,10));
87
+ expect(results.length).toBe(1)
68
88
 
69
- expect(result.start).toBeDate(new Date(2013, 9-1, 15, 12));
70
- });
89
+ var result = results[0];
90
+ if(result){
91
+ expect(result.index).toBe(0)
92
+ expect(result.text).toBe('DOM 15SEP')
71
93
 
72
- testSingleCase(chrono, 'La fecha final es el 10 Agosto', new Date(2012,7,10), (result) => {
94
+ expect(result.start).not.toBeNull()
95
+ expect(result.start.get('year')).toBe(2013)
96
+ expect(result.start.get('month')).toBe(9)
97
+ expect(result.start.get('day')).toBe(15)
73
98
 
74
- expect(result.index).toBe(21);
75
- expect(result.text).toBe('10 Agosto');
99
+ var resultDate = result.start.date();
100
+ var expectDate = new Date(2013, 9-1, 15, 12);
101
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
102
+ }
76
103
 
77
- expect(result.start).not.toBeNull();
78
- expect(result.start.get('year')).toBe(2012);
79
- expect(result.start.get('month')).toBe(8);
80
- expect(result.start.get('day')).toBe(10);
104
+ var text = "La fecha final es el 10 Agosto";
105
+ var results = chrono.parse(text, new Date(2012,7,10));
106
+ expect(results.length).toBe(1)
81
107
 
82
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
83
- });
108
+ var result = results[0];
109
+ if (result) {
84
110
 
111
+ expect(result.index).toBe(21)
112
+ expect(result.text).toBe('10 Agosto')
85
113
 
86
- testSingleCase(chrono, 'La fecha final es el Martes, 10 Enero', new Date(2012,7,10), (result) => {
114
+ expect(result.start).not.toBeNull()
115
+ expect(result.start.get('year')).toBe(2012)
116
+ expect(result.start.get('month')).toBe(8)
117
+ expect(result.start.get('day')).toBe(10)
87
118
 
88
- expect(result.index).toBe(21);
89
- expect(result.text).toBe('Martes, 10 Enero');
119
+ var resultDate = result.start.date();
120
+ var expectDate = new Date(2012, 8-1, 10, 12);
121
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
122
+ }
123
+
124
+
125
+ var text = "La fecha final es el Martes, 10 Enero";
126
+ var results = chrono.parse(text, new Date(2012,7,10));
127
+ expect(results.length).toBe(1)
128
+
129
+ var result = results[0];
130
+ if (result) {
90
131
 
91
- expect(result.start).not.toBeNull();
92
- expect(result.start.get('year')).toBe(2013);
93
- expect(result.start.get('month')).toBe(1);
94
- expect(result.start.get('day')).toBe(10);
95
- expect(result.start.get('weekday')).toBe(2);
132
+ expect(result.index).toBe(21)
133
+ expect(result.text).toBe('Martes, 10 Enero')
96
134
 
97
- expect(result.start).toBeDate(new Date(2013, 1-1, 10, 12));
98
- });
135
+ expect(result.start).not.toBeNull()
136
+ expect(result.start.get('year')).toBe(2013)
137
+ expect(result.start.get('month')).toBe(1)
138
+ expect(result.start.get('day')).toBe(10)
139
+ expect(result.start.get('weekday')).toBe(2)
140
+
141
+ var resultDate = result.start.date();
142
+ var expectDate = new Date(2013, 1-1, 10, 12);
143
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
144
+ }
99
145
 
100
146
 
101
- testSingleCase(chrono, 'La fecha final es el Mar, 10 Enero', new Date(2012,7,10), (result) => {
147
+ var text = "La fecha final es el Mar, 10 Enero";
148
+ var results = chrono.parse(text, new Date(2012,7,10));
149
+ expect(results.length).toBe(1)
102
150
 
103
- expect(result.index).toBe(21);
104
- expect(result.text).toBe('Mar, 10 Enero');
151
+ var result = results[0];
152
+ if (result) {
105
153
 
106
- expect(result.start).not.toBeNull();
107
- expect(result.start.get('year')).toBe(2013);
108
- expect(result.start.get('month')).toBe(1);
109
- expect(result.start.get('day')).toBe(10);
110
- expect(result.start.get('weekday')).toBe(2);
154
+ expect(result.index).toBe(21)
155
+ expect(result.text).toBe('Mar, 10 Enero')
111
156
 
112
- expect(result.start).toBeDate(new Date(2013, 1-1, 10, 12));
113
- });
157
+ expect(result.start).not.toBeNull()
158
+ expect(result.start.get('year')).toBe(2013)
159
+ expect(result.start.get('month')).toBe(1)
160
+ expect(result.start.get('day')).toBe(10)
161
+ expect(result.start.get('weekday')).toBe(2)
162
+
163
+ var resultDate = result.start.date();
164
+ var expectDate = new Date(2013, 1-1, 10, 12);
165
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
166
+ }
114
167
 
115
168
  });
116
169
 
@@ -118,119 +171,171 @@ test("Test - Single expression", function() {
118
171
  test("Test - Range expression", function() {
119
172
 
120
173
 
121
- testSingleCase(chrono, '10 - 22 Agosto 2012', new Date(2012,7,10), (result) => {
174
+ var text = "10 - 22 Agosto 2012";
175
+ var results = chrono.parse(text, new Date(2012,7,10));
176
+ expect(results.length).toBe(1)
177
+
178
+ var result = results[0];
179
+ if(result){
180
+
181
+ expect(result.index).toBe(0)
182
+ expect(result.text).toBe('10 - 22 Agosto 2012')
183
+
184
+ expect(result.start).not.toBeNull()
185
+ expect(result.start.get('year')).toBe(2012)
186
+ expect(result.start.get('month')).toBe(8)
187
+ expect(result.start.get('day')).toBe(10)
188
+
189
+ var resultDate = result.start.date();
190
+ var expectDate = new Date(2012, 8-1, 10, 12);
191
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
122
192
 
123
- expect(result.index).toBe(0);
124
- expect(result.text).toBe('10 - 22 Agosto 2012');
125
193
 
126
- expect(result.start).not.toBeNull();
127
- expect(result.start.get('year')).toBe(2012);
128
- expect(result.start.get('month')).toBe(8);
129
- expect(result.start.get('day')).toBe(10);
194
+ expect(result.end).not.toBeNull()
195
+ expect(result.end.get('year')).toBe(2012)
196
+ expect(result.end.get('month')).toBe(8)
197
+ expect(result.end.get('day')).toBe(22)
130
198
 
131
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
199
+ var resultDate = result.end.date();
200
+ var expectDate = new Date(2012, 8-1, 22, 12);
201
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
202
+ }
132
203
 
133
204
 
134
- expect(result.end).not.toBeNull();
135
- expect(result.end.get('year')).toBe(2012);
136
- expect(result.end.get('month')).toBe(8);
137
- expect(result.end.get('day')).toBe(22);
205
+ var text = "10 al 22 Agosto 2012";
206
+ var results = chrono.parse(text, new Date(2012,7,10));
207
+ expect(results.length).toBe(1)
138
208
 
139
- expect(result.end).toBeDate(new Date(2012, 8-1, 22, 12));
140
- });
209
+ var result = results[0];
210
+ if(result){
141
211
 
212
+ expect(result.index).toBe(0)
213
+ expect(result.text).toBe('10 al 22 Agosto 2012')
142
214
 
143
- testSingleCase(chrono, '10 al 22 Agosto 2012', new Date(2012,7,10), (result) => {
215
+ expect(result.start).not.toBeNull()
216
+ expect(result.start.get('year')).toBe(2012)
217
+ expect(result.start.get('month')).toBe(8)
218
+ expect(result.start.get('day')).toBe(10)
144
219
 
145
- expect(result.index).toBe(0);
146
- expect(result.text).toBe('10 al 22 Agosto 2012');
220
+ var resultDate = result.start.date();
221
+ var expectDate = new Date(2012, 8-1, 10, 12);
222
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
147
223
 
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);
152
224
 
153
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
225
+ expect(result.end).not.toBeNull()
226
+ expect(result.end.get('year')).toBe(2012)
227
+ expect(result.end.get('month')).toBe(8)
228
+ expect(result.end.get('day')).toBe(22)
154
229
 
230
+ var resultDate = result.end.date();
231
+ var expectDate = new Date(2012, 8-1, 22, 12);
232
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
233
+ }
155
234
 
156
- expect(result.end).not.toBeNull();
157
- expect(result.end.get('year')).toBe(2012);
158
- expect(result.end.get('month')).toBe(8);
159
- expect(result.end.get('day')).toBe(22);
235
+ var text = "10 Agosto - 12 Septiembre";
236
+ var results = chrono.parse(text, new Date(2012,7,10));
237
+ expect(results.length).toBe(1)
160
238
 
161
- expect(result.end).toBeDate(new Date(2012, 8-1, 22, 12));
162
- });
239
+ var result = results[0];
240
+ if(result){
163
241
 
164
- testSingleCase(chrono, '10 Agosto - 12 Septiembre', new Date(2012,7,10), (result) => {
242
+ expect(result.index).toBe(0)
243
+ expect(result.text).toBe('10 Agosto - 12 Septiembre')
165
244
 
166
- expect(result.index).toBe(0);
167
- expect(result.text).toBe('10 Agosto - 12 Septiembre');
245
+ expect(result.start).not.toBeNull()
246
+ expect(result.start.get('year')).toBe(2012)
247
+ expect(result.start.get('month')).toBe(8)
248
+ expect(result.start.get('day')).toBe(10)
168
249
 
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);
250
+ var resultDate = result.start.date();
251
+ var expectDate = new Date(2012, 8-1, 10, 12);
252
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
173
253
 
174
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
175
254
 
255
+ expect(result.end).not.toBeNull()
256
+ expect(result.end.get('year')).toBe(2012)
257
+ expect(result.end.get('month')).toBe(9)
258
+ expect(result.end.get('day')).toBe(12)
176
259
 
177
- expect(result.end).not.toBeNull();
178
- expect(result.end.get('year')).toBe(2012);
179
- expect(result.end.get('month')).toBe(9);
180
- expect(result.end.get('day')).toBe(12);
260
+ var resultDate = result.end.date();
261
+ var expectDate = new Date(2012, 9-1, 12, 12);
262
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
263
+ }
181
264
 
182
- expect(result.end).toBeDate(new Date(2012, 9-1, 12, 12));
183
- });
265
+ var text = "10 Agosto - 12 Septiembre 2013";
266
+ var results = chrono.parse(text, new Date(2012,7,10));
267
+ expect(results.length).toBe(1)
184
268
 
185
- testSingleCase(chrono, '10 Agosto - 12 Septiembre 2013', new Date(2012,7,10), (result) => {
269
+ var result = results[0];
270
+ if(result){
186
271
 
187
- expect(result.index).toBe(0);
188
- expect(result.text).toBe('10 Agosto - 12 Septiembre 2013');
272
+ expect(result.index).toBe(0)
273
+ expect(result.text).toBe('10 Agosto - 12 Septiembre 2013')
189
274
 
190
- expect(result.start).not.toBeNull();
191
- expect(result.start.get('year')).toBe(2013);
192
- expect(result.start.get('month')).toBe(8);
193
- expect(result.start.get('day')).toBe(10);
275
+ expect(result.start).not.toBeNull()
276
+ expect(result.start.get('year')).toBe(2013)
277
+ expect(result.start.get('month')).toBe(8)
278
+ expect(result.start.get('day')).toBe(10)
194
279
 
195
- expect(result.start).toBeDate(new Date(2013, 8-1, 10, 12));
280
+ var resultDate = result.start.date();
281
+ var expectDate = new Date(2013, 8-1, 10, 12);
282
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
196
283
 
197
284
 
198
- expect(result.end).not.toBeNull();
199
- expect(result.end.get('year')).toBe(2013);
200
- expect(result.end.get('month')).toBe(9);
201
- expect(result.end.get('day')).toBe(12);
285
+ expect(result.end).not.toBeNull()
286
+ expect(result.end.get('year')).toBe(2013)
287
+ expect(result.end.get('month')).toBe(9)
288
+ expect(result.end.get('day')).toBe(12)
202
289
 
203
- expect(result.end).toBeDate(new Date(2013, 9-1, 12, 12));
204
- });
290
+ var resultDate = result.end.date();
291
+ var expectDate = new Date(2013, 9-1, 12, 12);
292
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
293
+ }
205
294
  });
206
295
 
207
296
 
208
297
  test("Test - Combined expression", function() {
209
298
 
210
- testSingleCase(chrono, '12 de Julio a las 19:00', new Date(2012,7,10), (result) => {
211
- expect(result.index).toBe(0);
212
- expect(result.text).toBe('12 de Julio a las 19:00');
299
+ var text = "12 de Julio a las 19:00";
300
+ var results = chrono.parse(text, new Date(2012,7,10));
301
+ expect(results.length).toBe(1)
302
+
303
+ var result = results[0];
304
+ if(result){
305
+ expect(result.index).toBe(0)
306
+ expect(result.text).toBe('12 de Julio a las 19:00')
213
307
 
214
- expect(result.start).not.toBeNull();
215
- expect(result.start.get('year')).toBe(2012);
216
- expect(result.start.get('month')).toBe(7);
217
- expect(result.start.get('day')).toBe(12);
308
+ expect(result.start).not.toBeNull()
309
+ expect(result.start.get('year')).toBe(2012)
310
+ expect(result.start.get('month')).toBe(7)
311
+ expect(result.start.get('day')).toBe(12)
218
312
 
219
313
 
220
- expect(result.start).toBeDate(new Date(2012, 7-1, 12, 19, 0));
221
- });
314
+ var resultDate = result.start.date();
315
+ var expectDate = new Date(2012, 7-1, 12, 19, 0);
316
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
317
+ }
222
318
 
223
319
  });
224
320
 
225
321
  test("Test - Impossible Dates (Strict Mode)", function() {
226
322
 
227
- testUnexpectedResult(chrono.strict, '32 Agosto 2014', new Date(2012,7,10));
323
+ var text = "32 Agosto 2014";
324
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
325
+ expect(results.length).toBe(0)
228
326
 
229
- testUnexpectedResult(chrono.strict, '29 Febrero 2014', new Date(2012,7,10));
327
+ var text = "29 Febrero 2014";
328
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
329
+ expect(results.length).toBe(0)
230
330
 
231
- testUnexpectedResult(chrono.strict, '32 Agosto', new Date(2012,7,10));
331
+ var text = "32 Agosto";
332
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
333
+ expect(results.length).toBe(0)
232
334
 
233
- testUnexpectedResult(chrono.strict, '29 Febuary', new Date(2012,7,10))
335
+ // TODO
336
+ var text = "29 Febuary";
337
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
338
+ expect(results.length).toBe(0)
234
339
 
235
340
  });
236
341
 
@@ -240,6 +345,6 @@ test("Test - Impossible Dates (Casual Mode)", function() {
240
345
  var expectDate = new Date(2015, 8, 1, 12, 0);
241
346
  var results = chrono.parse(text);
242
347
  var resultDate = results[0].start.date();
243
- expect(results.length).toBe(1);
348
+ expect(results.length).toBe(1)
244
349
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
245
350
  });
@@ -1,19 +1,24 @@
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 - Single Expression", function() {
6
4
 
7
- testSingleCase(chrono, 'lunes 8/2/2016', new Date(2012,7,10), (result) => {
8
- expect(result.start).not.toBeNull();
9
- expect(result.start.get('year')).toBe(2016);
10
- expect(result.start.get('month')).toBe(2);
11
- expect(result.start.get('day')).toBe(8);
5
+ var text = "lunes 8/2/2016";
6
+ var results = chrono.parse(text, new Date(2012,7,10));
7
+ expect(results.length).toBe(1)
8
+
9
+ var result = results[0];
10
+ if(result){
11
+ expect(result.start).not.toBeNull()
12
+ expect(result.start.get('year')).toBe(2016)
13
+ expect(result.start.get('month')).toBe(2)
14
+ expect(result.start.get('day')).toBe(8)
12
15
 
13
- expect(result.index).toBe(0);
14
- expect(result.text).toBe('lunes 8/2/2016');
16
+ expect(result.index).toBe(0)
17
+ expect(result.text).toBe('lunes 8/2/2016')
15
18
 
16
- expect(result.start).toBeDate(new Date(2016, 2-1, 8, 12));
17
- });
19
+ var resultDate = result.start.date();
20
+ var expectDate = new Date(2016, 2-1, 8, 12);
21
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
22
+ }
18
23
 
19
24
  });
@@ -12,7 +12,9 @@ test("Test - Single Expression", function() {
12
12
  expect(result.index).toBe(0)
13
13
  expect(result.text).toBe('hace 5 días')
14
14
 
15
- expect(result.start).toBeDate(new Date(2012, 8-1, 5, 12));
15
+ var resultDate = result.start.date();
16
+ var expectDate = new Date(2012, 8-1, 5, 12);
17
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
16
18
  });
17
19
 
18
20
  testSingleCase(chrono.es, 'hace 10 dias, hicimos algo', new Date(2012,7,10), (result) => {
@@ -24,7 +26,9 @@ test("Test - Single Expression", function() {
24
26
  expect(result.index).toBe(0)
25
27
  expect(result.text).toBe('hace 10 dias')
26
28
 
27
- expect(result.start).toBeDate(new Date(2012, 7-1, 31, 12));
29
+ var resultDate = result.start.date();
30
+ var expectDate = new Date(2012, 7-1, 31, 12);
31
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
28
32
  });
29
33
 
30
34
 
@@ -34,7 +38,9 @@ test("Test - Single Expression", function() {
34
38
  expect(result.start.get('hour')).toBe(11)
35
39
  expect(result.start.get('minute')).toBe(59)
36
40
 
37
- expect(result.start).toBeDate(new Date(2012,7,10,11,59));
41
+ var resultDate = result.start.date();
42
+ var expectDate = new Date(2012,7,10,11,59);
43
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
38
44
  });
39
45
 
40
46
  testSingleCase(chrono.es, ' hace 12 horas', new Date(2012,7,10,12,14), (result) => {
@@ -43,7 +49,9 @@ test("Test - Single Expression", function() {
43
49
  expect(result.start.get('hour')).toBe(0)
44
50
  expect(result.start.get('minute')).toBe(14)
45
51
 
46
- expect(result.start).toBeDate(new Date(2012,7,10,0,14));
52
+ var resultDate = result.start.date();
53
+ var expectDate = new Date(2012,7,10,0,14);
54
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
47
55
  });
48
56
  });
49
57
 
@@ -59,7 +67,9 @@ test("Test - Single Expression (Casual)", function() {
59
67
  expect(result.index).toBe(0)
60
68
  expect(result.text).toBe('hace 5 meses')
61
69
 
62
- expect(result.start).toBeDate(new Date(2012, 3-1, 10, 12));
70
+ var resultDate = result.start.date();
71
+ var expectDate = new Date(2012, 3-1, 10, 12);
72
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
63
73
  });
64
74
 
65
75
  testSingleCase(chrono.es, 'hace 5 años, hicimos algo', new Date(2012, 8-1,10), (result) => {
@@ -71,7 +81,9 @@ test("Test - Single Expression (Casual)", function() {
71
81
  expect(result.index).toBe(0)
72
82
  expect(result.text).toBe('hace 5 años')
73
83
 
74
- expect(result.start).toBeDate(new Date(2007, 8-1, 10, 12));
84
+ var resultDate = result.start.date();
85
+ var expectDate = new Date(2007, 8-1, 10, 12);
86
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
75
87
  });
76
88
 
77
89
 
@@ -84,6 +96,8 @@ test("Test - Single Expression (Casual)", function() {
84
96
  expect(result.index).toBe(0)
85
97
  expect(result.text).toBe('hace una semana')
86
98
 
87
- expect(result.start).toBeDate(new Date(2012, 7-1, 27, 12));
99
+ var resultDate = result.start.date();
100
+ var expectDate = new Date(2012, 7-1, 27, 12);
101
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
88
102
  });
89
103
  });