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 15Set', new Date(2013,7,10), (result) => {
49
- expect(result.index).toBe(0);
50
- expect(result.text).toBe('Dom 15Set');
66
+ var text = 'Dom 15Set';
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 15Set')
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 15SET', new Date(2013,7,10), (result) => {
61
- expect(result.index).toBe(0);
62
- expect(result.text).toBe('DOM 15SET');
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 15SET';
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 15SET')
71
93
 
72
- testSingleCase(chrono, 'O prazo é 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(10);
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 = "O prazo é 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(10)
112
+ expect(result.text).toBe('10 Agosto')
85
113
 
86
- testSingleCase(chrono, 'O prazo é terça-feira, 10 de janeiro', 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(10);
89
- expect(result.text).toBe('terça-feira, 10 de janeiro');
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 = "O prazo é terça-feira, 10 de janeiro";
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(10)
133
+ expect(result.text).toBe('terça-feira, 10 de janeiro')
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, 'O prazo é Qua, 10 Janeiro', new Date(2012,7,10), (result) => {
147
+ var text = "O prazo é Qua, 10 Janeiro";
148
+ var results = chrono.parse(text, new Date(2012,7,10));
149
+ expect(results.length).toBe(1)
102
150
 
103
- expect(result.index).toBe(10);
104
- expect(result.text).toBe('Qua, 10 Janeiro');
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(3);
154
+ expect(result.index).toBe(10)
155
+ expect(result.text).toBe('Qua, 10 Janeiro')
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(3)
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,117 +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)
122
177
 
123
- expect(result.index).toBe(0);
124
- expect(result.text).toBe('10 - 22 Agosto 2012');
178
+ var result = results[0];
179
+ if(result){
125
180
 
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);
181
+ expect(result.index).toBe(0)
182
+ expect(result.text).toBe('10 - 22 Agosto 2012')
130
183
 
131
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
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)
132
188
 
189
+ var resultDate = result.start.date();
190
+ var expectDate = new Date(2012, 8-1, 10, 12);
191
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
133
192
 
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);
138
193
 
139
- expect(result.end).toBeDate(new Date(2012, 8-1, 22, 12));
140
- });
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)
141
198
 
199
+ var resultDate = result.end.date();
200
+ var expectDate = new Date(2012, 8-1, 22, 12);
201
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
202
+ }
142
203
 
143
- testSingleCase(chrono, '10 a 22 Agosto 2012', new Date(2012,7,10), (result) => {
144
204
 
145
- expect(result.index).toBe(0);
146
- expect(result.text).toBe('10 a 22 Agosto 2012');
205
+ var text = "10 a 22 Agosto 2012";
206
+ var results = chrono.parse(text, new Date(2012,7,10));
207
+ expect(results.length).toBe(1)
147
208
 
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);
209
+ var result = results[0];
210
+ if(result){
152
211
 
153
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
212
+ expect(result.index).toBe(0)
213
+ expect(result.text).toBe('10 a 22 Agosto 2012')
154
214
 
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)
155
219
 
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);
220
+ var resultDate = result.start.date();
221
+ var expectDate = new Date(2012, 8-1, 10, 12);
222
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
160
223
 
161
- expect(result.end).toBeDate(new Date(2012, 8-1, 22, 12));
162
- });
163
224
 
164
- testSingleCase(chrono, '10 Agosto - 12 Setembro', new Date(2012,7,10), (result) => {
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)
165
229
 
166
- expect(result.index).toBe(0);
167
- expect(result.text).toBe('10 Agosto - 12 Setembro');
230
+ var resultDate = result.end.date();
231
+ var expectDate = new Date(2012, 8-1, 22, 12);
232
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
233
+ }
168
234
 
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);
235
+ var text = "10 Agosto - 12 Setembro";
236
+ var results = chrono.parse(text, new Date(2012,7,10));
237
+ expect(results.length).toBe(1)
173
238
 
174
- expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12));
239
+ var result = results[0];
240
+ if(result){
175
241
 
242
+ expect(result.index).toBe(0)
243
+ expect(result.text).toBe('10 Agosto - 12 Setembro')
176
244
 
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);
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)
181
249
 
182
- expect(result.end).toBeDate(new Date(2012, 9-1, 12, 12));
183
- });
250
+ var resultDate = result.start.date();
251
+ var expectDate = new Date(2012, 8-1, 10, 12);
252
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
184
253
 
185
- testSingleCase(chrono, '10 Agosto - 12 Setembro 2013', new Date(2012,7,10), (result) => {
186
254
 
187
- expect(result.index).toBe(0);
188
- expect(result.text).toBe('10 Agosto - 12 Setembro 2013');
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)
259
+
260
+ var resultDate = result.end.date();
261
+ var expectDate = new Date(2012, 9-1, 12, 12);
262
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
263
+ }
189
264
 
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);
265
+ var text = "10 Agosto - 12 Setembro 2013";
266
+ var results = chrono.parse(text, new Date(2012,7,10));
267
+ expect(results.length).toBe(1)
194
268
 
195
- expect(result.start).toBeDate(new Date(2013, 8-1, 10, 12));
269
+ var result = results[0];
270
+ if(result){
196
271
 
272
+ expect(result.index).toBe(0)
273
+ expect(result.text).toBe('10 Agosto - 12 Setembro 2013')
197
274
 
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);
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)
202
279
 
203
- expect(result.end).toBeDate(new Date(2013, 9-1, 12, 12));
204
- });
280
+ var resultDate = result.start.date();
281
+ var expectDate = new Date(2013, 8-1, 10, 12);
282
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
283
+
284
+
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)
289
+
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 Julho às 19:00', new Date(2012,7,10), (result) => {
211
- expect(result.index).toBe(0);
212
- expect(result.text).toBe('12 de Julho às 19:00');
299
+ var text = "12 de Julho às 19:00";
300
+ var results = chrono.parse(text, new Date(2012,7,10));
301
+ expect(results.length).toBe(1)
213
302
 
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);
303
+ var result = results[0];
304
+ if(result){
305
+ expect(result.index).toBe(0)
306
+ expect(result.text).toBe('12 de Julho às 19:00')
218
307
 
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)
219
312
 
220
- expect(result.start).toBeDate(new Date(2012, 7-1, 12, 19, 0));
221
- });
313
+
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)
326
+
327
+ var text = "29 Fevereiro 2014";
328
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
329
+ expect(results.length).toBe(0)
228
330
 
229
- testUnexpectedResult(chrono.strict, '29 Fevereiro 2014', 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)
230
334
 
231
- testUnexpectedResult(chrono.strict, '32 Agosto', new Date(2012,7,10))
335
+ // TODO
336
+ // var text = "29 Fevereiro";
337
+ // var results = chrono.strict.parse(text, new Date(2012,7,10));
338
+ // expect(results.length).toBe(0)
232
339
 
233
340
  });
234
341
 
@@ -238,6 +345,6 @@ test("Test - Impossible Dates (Casual Mode)", function() {
238
345
  var expectDate = new Date(2015, 8, 1, 12, 0);
239
346
  var results = chrono.parse(text);
240
347
  var resultDate = results[0].start.date();
241
- expect(results.length).toBe(1);
348
+ expect(results.length).toBe(1)
242
349
  expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
243
350
  });
@@ -1,31 +1,44 @@
1
- import * as chrono from '../../src/chrono';
2
- import { testSingleCase } from '../test_util';
1
+ var chrono = require('../../src/chrono');
3
2
 
4
3
  test("Test - Single Expression", function() {
5
4
 
6
- testSingleCase(chrono, 'segunda 8/2/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(2);
10
- expect(result.start.get('day')).toBe(8);
11
-
12
- expect(result.index).toBe(0);
13
- expect(result.text).toBe('segunda 8/2/2016');
14
-
15
- expect(result.start).toBeDate(new Date(2016, 2-1, 8, 12));
16
- });
17
-
18
- testSingleCase(chrono, 'Terça-feira 9/2/2016', new Date(2012,7,10), (result) => {
19
- expect(result.start).not.toBeNull();
20
- expect(result.start.get('year')).toBe(2016);
21
- expect(result.start.get('month')).toBe(2);
22
- expect(result.start.get('day')).toBe(9);
23
-
24
- expect(result.index).toBe(0);
25
- expect(result.text).toBe('Terça-feira 9/2/2016');
26
-
27
- expect(result.start).toBeDate(new Date(2016, 2-1, 9, 12));
28
- });
5
+ var text = "segunda 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)
15
+
16
+ expect(result.index).toBe(0)
17
+ expect(result.text).toBe('segunda 8/2/2016')
18
+
19
+ var resultDate = result.start.date();
20
+ var expectDate = new Date(2016, 2-1, 8, 12);
21
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
22
+ }
23
+
24
+ var text = "Terça-feira 9/2/2016";
25
+ var results = chrono.parse(text, new Date(2012,7,10));
26
+ expect(results.length).toBe(1)
27
+
28
+ var result = results[0];
29
+ if(result){
30
+ expect(result.start).not.toBeNull()
31
+ expect(result.start.get('year')).toBe(2016)
32
+ expect(result.start.get('month')).toBe(2)
33
+ expect(result.start.get('day')).toBe(9)
34
+
35
+ expect(result.index).toBe(0)
36
+ expect(result.text).toBe('Terça-feira 9/2/2016')
37
+
38
+ var resultDate = result.start.date();
39
+ var expectDate = new Date(2016, 2-1, 9, 12);
40
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
41
+ }
29
42
 
30
43
 
31
44
  });