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,191 +1,257 @@
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.pt, 'O prazo é agora', new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
8
- expect(result.index).toBe(10);
9
- expect(result.text).toBe('agora');
6
+ var text = "O prazo é agora";
7
+ var results = chrono.pt.parse(text, new Date(2012, 7, 10, 8, 9, 10, 11));
8
+ expect(results.length).toBe(1)
10
9
 
11
- expect(result.start).not.toBeNull();
12
- expect(result.start.get('year')).toBe(2012);
13
- expect(result.start.get('month')).toBe(8);
14
- expect(result.start.get('day')).toBe(10);
15
- expect(result.start.get('hour')).toBe(8);
16
- expect(result.start.get('minute')).toBe(9);
17
- expect(result.start.get('second')).toBe(10);
18
- expect(result.start.get('millisecond')).toBe(11);
19
-
20
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 9, 10, 11));
21
- });
22
-
23
-
24
- testSingleCase(chrono.pt, 'O prazo é hoje', new Date(2012, 7, 10, 12), (result) => {
25
- expect(result.index).toBe(10);
26
- expect(result.text).toBe('hoje');
27
-
28
- expect(result.start).not.toBeNull();
29
- expect(result.start.get('year')).toBe(2012);
30
- expect(result.start.get('month')).toBe(8);
31
- expect(result.start.get('day')).toBe(10);
32
-
33
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
34
- });
35
-
36
-
37
- testSingleCase(chrono.pt, 'O prazo é Amanhã', new Date(2012, 7, 10, 12), (result) => {
38
- expect(result.index).toBe(10);
39
- expect(result.text).toBe('Amanhã');
40
-
41
- expect(result.start).not.toBeNull();
42
- expect(result.start.get('year')).toBe(2012);
43
- expect(result.start.get('month')).toBe(8);
44
- expect(result.start.get('day')).toBe(11);
45
-
46
- expect(result.start).toBeDate(new Date(2012, 7, 11, 12));
47
- });
48
-
49
- testSingleCase(chrono.pt, 'O prazo é Amanhã', new Date(2012, 7, 10, 1), (result) => {
50
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
51
- });
52
-
53
-
54
- testSingleCase(chrono.pt, 'O prazo foi ontem', new Date(2012, 7, 10, 12), (result) => {
55
- expect(result.index).toBe(12);
56
- expect(result.text).toBe('ontem');
57
-
58
- expect(result.start).not.toBeNull();
59
- expect(result.start.get('year')).toBe(2012);
60
- expect(result.start.get('month')).toBe(8);
61
- expect(result.start.get('day')).toBe(9);
62
-
63
- expect(result.start).toBeDate(new Date(2012, 7, 9, 12));
64
- });
65
-
66
-
67
- testSingleCase(chrono.pt, 'O prazo foi ontem à noite ', new Date(2012, 7, 10, 12), (result) => {
68
- expect(result.index).toBe(12);
69
- expect(result.text).toBe('ontem à noite');
70
-
71
- expect(result.start).not.toBeNull();
72
- expect(result.start.get('year')).toBe(2012);
73
- expect(result.start.get('month')).toBe(8);
74
- expect(result.start.get('day')).toBe(9);
75
- expect(result.start.get('hour')).toBe(22);
76
-
77
- expect(result.start).toBeDate(new Date(2012, 7, 9, 22));
78
- });
79
-
80
-
81
- testSingleCase(chrono.pt, 'O prazo foi esta manhã ', new Date(2012, 7, 10, 12), (result) => {
82
- expect(result.index).toBe(12);
83
- expect(result.text).toBe('esta manhã');
84
-
85
- expect(result.start).not.toBeNull();
86
- expect(result.start.get('year')).toBe(2012);
87
- expect(result.start.get('month')).toBe(8);
88
- expect(result.start.get('day')).toBe(10);
89
- expect(result.start.get('hour')).toBe(6);
90
-
91
- expect(result.start).toBeDate(new Date(2012, 7, 10, 6));
92
- });
93
-
94
-
95
- testSingleCase(chrono.pt, 'O prazo foi esta tarde ', new Date(2012, 7, 10, 12), (result) => {
96
- expect(result.index).toBe(12);
97
- expect(result.text).toBe('esta tarde');
98
-
99
- expect(result.start).not.toBeNull();
100
- expect(result.start.get('year')).toBe(2012);
101
- expect(result.start.get('month')).toBe(8);
102
- expect(result.start.get('day')).toBe(10);
103
- expect(result.start.get('hour')).toBe(18);
104
-
105
- expect(result.start).toBeDate(new Date(2012, 7, 10, 18));
106
- });
10
+ var result = results[0];
11
+ if(result){
12
+ expect(result.index).toBe(10)
13
+ expect(result.text).toBe('agora')
14
+
15
+ expect(result.start).not.toBeNull()
16
+ expect(result.start.get('year')).toBe(2012)
17
+ expect(result.start.get('month')).toBe(8)
18
+ expect(result.start.get('day')).toBe(10)
19
+ expect(result.start.get('hour')).toBe(8)
20
+ expect(result.start.get('minute')).toBe(9)
21
+ expect(result.start.get('second')).toBe(10)
22
+ expect(result.start.get('millisecond')).toBe(11)
23
+
24
+ var resultDate = result.start.date();
25
+ var expectDate = new Date(2012, 7, 10, 8, 9, 10, 11);
26
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
27
+ }
28
+
29
+
30
+ var text = "O prazo é hoje";
31
+ var results = chrono.pt.parse(text, new Date(2012, 7, 10, 12));
32
+ expect(results.length).toBe(1)
33
+
34
+ var result = results[0];
35
+ if(result){
36
+ expect(result.index).toBe(10)
37
+ expect(result.text).toBe('hoje')
38
+
39
+ expect(result.start).not.toBeNull()
40
+ expect(result.start.get('year')).toBe(2012)
41
+ expect(result.start.get('month')).toBe(8)
42
+ expect(result.start.get('day')).toBe(10)
43
+
44
+ var resultDate = result.start.date();
45
+ var expectDate = new Date(2012, 7, 10, 12);
46
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
47
+ }
48
+
49
+
50
+ var text = "O prazo é Amanhã";
51
+ var results = chrono.pt.parse(text, new Date(2012, 7, 10, 12));
52
+ expect(results.length).toBe(1)
53
+
54
+ var result = results[0];
55
+ if(result){
56
+ expect(result.index).toBe(10)
57
+ expect(result.text).toBe('Amanhã')
58
+
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(11)
63
+
64
+ var resultDate = result.start.date();
65
+ var expectDate = new Date(2012, 7, 11, 12);
66
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
67
+ }
68
+
69
+ var text = "O prazo é Amanhã";
70
+ var results = chrono.pt.parse(text, new Date(2012, 7, 10, 1));
71
+ expect(results.length).toBe(1)
72
+
73
+ var result = results[0];
74
+ if(result){
75
+ var resultDate = result.start.date();
76
+ var expectDate = new Date(2012, 7, 10, 12);
77
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
78
+ }
79
+
80
+
81
+ var text = "O prazo foi ontem";
82
+ var results = chrono.pt.parse(text, new Date(2012, 7, 10, 12));
83
+ expect(results.length).toBe(1)
84
+
85
+ var result = results[0];
86
+ if(result){
87
+ expect(result.index).toBe(12)
88
+ expect(result.text).toBe('ontem')
89
+
90
+ expect(result.start).not.toBeNull()
91
+ expect(result.start.get('year')).toBe(2012)
92
+ expect(result.start.get('month')).toBe(8)
93
+ expect(result.start.get('day')).toBe(9)
94
+
95
+ var resultDate = result.start.date();
96
+ var expectDate = new Date(2012, 7, 9, 12);
97
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
98
+ }
99
+
100
+
101
+ var text = "O prazo foi ontem à noite ";
102
+ var results = chrono.pt.parse(text, new Date(2012, 7, 10, 12));
103
+ expect(results.length).toBe(1)
104
+
105
+ var result = results[0];
106
+ if(result){
107
+ expect(result.index).toBe(12)
108
+ expect(result.text).toBe('ontem à noite')
109
+
110
+ expect(result.start).not.toBeNull()
111
+ expect(result.start.get('year')).toBe(2012)
112
+ expect(result.start.get('month')).toBe(8)
113
+ expect(result.start.get('day')).toBe(9)
114
+ expect(result.start.get('hour')).toBe(22)
115
+
116
+ var resultDate = result.start.date();
117
+ var expectDate = new Date(2012, 7, 9, 22);
118
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
119
+ }
120
+
121
+
122
+ var text = "O prazo foi esta manhã ";
123
+ var results = chrono.pt.parse(text, new Date(2012, 7, 10, 12));
124
+ expect(results.length).toBe(1)
125
+
126
+ var result = results[0];
127
+ if(result){
128
+ expect(result.index).toBe(12)
129
+ expect(result.text).toBe('esta manhã')
130
+
131
+ expect(result.start).not.toBeNull()
132
+ expect(result.start.get('year')).toBe(2012)
133
+ expect(result.start.get('month')).toBe(8)
134
+ expect(result.start.get('day')).toBe(10)
135
+ expect(result.start.get('hour')).toBe(6)
136
+
137
+ var resultDate = result.start.date();
138
+ var expectDate = new Date(2012, 7, 10, 6);
139
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
140
+ }
141
+
142
+
143
+ var text = "O prazo foi esta tarde ";
144
+ var results = chrono.pt.parse(text, new Date(2012, 7, 10, 12));
145
+ expect(results.length).toBe(1)
146
+
147
+ var result = results[0];
148
+ if(result){
149
+ expect(result.index).toBe(12)
150
+ expect(result.text).toBe('esta tarde')
151
+
152
+ expect(result.start).not.toBeNull()
153
+ expect(result.start.get('year')).toBe(2012)
154
+ expect(result.start.get('month')).toBe(8)
155
+ expect(result.start.get('day')).toBe(10)
156
+ expect(result.start.get('hour')).toBe(18)
157
+
158
+ var resultDate = result.start.date();
159
+ var expectDate = new Date(2012, 7, 10, 18);
160
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
161
+ }
107
162
  });
108
163
 
109
164
 
110
165
  test("Test - Combined Expression", function() {
111
166
 
112
167
 
113
- testSingleCase(chrono.pt, 'O prazo é hoje às 5PM', new Date(2012, 7, 10, 12), (result) => {
114
- expect(result.index).toBe(10);
115
- expect(result.text).toBe('hoje às 5PM');
168
+ var text = "O prazo é hoje às 5PM";
169
+ var results = chrono.pt.parse(text, new Date(2012, 7, 10, 12));
170
+ expect(results.length).toBe(1)
171
+
172
+ var result = results[0];
173
+ if(result){
174
+ expect(result.index).toBe(10)
175
+ expect(result.text).toBe('hoje às 5PM')
116
176
 
117
- expect(result.start).not.toBeNull();
118
- expect(result.start.get('year')).toBe(2012);
119
- expect(result.start.get('month')).toBe(8);
120
- expect(result.start.get('day')).toBe(10);
121
- expect(result.start.get('hour')).toBe(17);
177
+ expect(result.start).not.toBeNull()
178
+ expect(result.start.get('year')).toBe(2012)
179
+ expect(result.start.get('month')).toBe(8)
180
+ expect(result.start.get('day')).toBe(10)
181
+ expect(result.start.get('hour')).toBe(17)
122
182
 
123
- expect(result.start).toBeDate(new Date(2012, 7, 10, 17));
124
- });
183
+ var resultDate = result.start.date();
184
+ var expectDate = new Date(2012, 7, 10, 17);
185
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
186
+ }
125
187
  });
126
188
 
127
189
 
128
190
  test('Test - Random text', function() {
129
191
 
130
- testSingleCase(chrono.pt, 'esta noite', new Date(2012, 1-1, 1, 12), (result, text) => {
192
+ var text = "esta noite";
193
+ var result = chrono.pt.parse(text, new Date(2012, 1-1, 1, 12))[0];
194
+ expect(result.text).toBe(text)
195
+ expect(result.start.get('year')).toBe(2012)
196
+ expect(result.start.get('month')).toBe(1)
197
+ expect(result.start.get('day')).toBe(1)
198
+ expect(result.start.get('hour')).toBe(22)
199
+ expect(result.start.get('meridiem') ).toBe(1)
131
200
 
132
- expect(result.text).toBe(text);
133
- expect(result.start.get('year')).toBe(2012);
134
- expect(result.start.get('month')).toBe(1);
135
- expect(result.start.get('day')).toBe(1);
136
- expect(result.start.get('hour')).toBe(22);
137
- expect(result.start.get('meridiem') ).toBe(1);
138
- });
201
+ var text = "esta noite 8pm";
202
+ var result = chrono.pt.parse(text, new Date(2012, 1-1, 1, 12))[0];
203
+ expect(result.text).toBe(text)
204
+ expect(result.start.get('hour') ).toBe(20)
205
+ expect(result.start.get('year') ).toBe(2012)
206
+ expect(result.start.get('month')).toBe(1)
207
+ expect(result.start.get('day') ).toBe(1)
208
+ expect(result.start.get('meridiem') ).toBe(1)
139
209
 
140
- testSingleCase(chrono.pt, 'esta noite 8pm', new Date(2012, 1-1, 1, 12), (result, text) => {
141
210
 
142
- expect(result.text).toBe(text);
143
- expect(result.start.get('hour') ).toBe(20);
144
- expect(result.start.get('year') ).toBe(2012);
145
- expect(result.start.get('month')).toBe(1);
146
- expect(result.start.get('day') ).toBe(1);
147
- expect(result.start.get('meridiem') ).toBe(1);
148
- });
211
+ var text = "esta noite at 8"; // TODO
212
+ var result = chrono.pt.parse(text, new Date(2012, 1-1, 1, 12))[0];
213
+ expect(result.text).toBe(text)
214
+ expect(result.start.get('hour') ).toBe(20)
215
+ expect(result.start.get('year') ).toBe(2012)
216
+ expect(result.start.get('month')).toBe(1)
217
+ expect(result.start.get('day') ).toBe(1)
218
+ expect(result.start.get('meridiem') ).toBe(1)
149
219
 
150
220
 
151
- testSingleCase(chrono.pt, 'esta noite at 8', new Date(2012, 1-1, 1, 12), (result, text) => {
221
+ var text = "quinta";
222
+ var result = chrono.pt.parse(text)[0];
223
+ expect(result.text).toBe(text)
224
+ expect(result.start.get('weekday')).toBe(4)
152
225
 
153
- expect(result.text).toBe(text);
154
- expect(result.start.get('hour') ).toBe(20);
155
- expect(result.start.get('year') ).toBe(2012);
156
- expect(result.start.get('month')).toBe(1);
157
- expect(result.start.get('day') ).toBe(1);
158
- expect(result.start.get('meridiem') ).toBe(1);
159
- });
160
226
 
161
-
162
- testSingleCase(chrono.pt, 'quinta', (result, text) => {
163
-
164
- expect(result.text).toBe(text);
165
- expect(result.start.get('weekday')).toBe(4);
166
- });
167
-
168
-
169
- testSingleCase(chrono.pt, 'sexta', (result, text) => {
170
-
171
- expect(result.text).toBe(text);
172
- expect(result.start.get('weekday')).toBe(5);
173
- });
174
-
175
- });
227
+ var text = "sexta";
228
+ var result = chrono.pt.parse(text)[0];
229
+ expect(result.text).toBe(text)
230
+ expect(result.start.get('weekday')).toBe(5)
231
+ })
176
232
 
177
233
 
178
234
  test('Test - Random negative text', function() {
179
235
 
180
- testUnexpectedResult(chrono.pt, 'naohoje');
236
+ var text = "naohoje";
237
+ var results = chrono.pt.parse(text);
238
+ expect(results.length).toBe(0)
181
239
 
182
240
 
183
- testUnexpectedResult(chrono.pt, 'hyamanhã');
241
+ var text = "hyamanhã";
242
+ var results = chrono.pt.parse(text);
243
+ expect(results.length).toBe(0)
184
244
 
185
- testUnexpectedResult(chrono.pt, 'xontem');
245
+ var text = "xontem";
246
+ var results = chrono.pt.parse(text);
247
+ expect(results.length).toBe(0)
186
248
 
187
- testUnexpectedResult(chrono.pt, 'porhora');
249
+ var text = "porhora";
250
+ var results = chrono.pt.parse(text);
251
+ expect(results.length).toBe(0)
188
252
 
189
- testUnexpectedResult(chrono.pt, 'agoraxsd')
253
+ var text = "agoraxsd";
254
+ var results = chrono.pt.parse(text);
255
+ expect(results.length).toBe(0)
190
256
 
191
- });
257
+ })
@@ -1,12 +1,13 @@
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 - Should handle dayname dd-mm-yy", function() {
5
-
6
- testSingleCase(chrono.strict, 'Sexta-feira 30-12-16', new Date(2012,7,10))
4
+ var text = "Sexta-feira 30-12-16";
5
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
6
+ expect(results.length).toBe(1)
7
7
  });
8
8
 
9
9
  test("Test - Should handle dd-mm-yy", function() {
10
-
11
- testSingleCase(chrono.strict, '30-12-16', new Date(2012,7,10))
10
+ var text = "30-12-16";
11
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
12
+ expect(results.length).toBe(1)
12
13
  });
@@ -1,9 +1,13 @@
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, 'nós temos que fazer algo em 5 dias.', new Date(2012,7,10), (result) => {
5
+ var text = "nós temos que fazer algo em 5 dias.";
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){
7
11
  expect(result.index).toBe(25)
8
12
  expect(result.text).toBe('em 5 dias')
9
13
 
@@ -12,10 +16,17 @@ test("Test - Single Expression", function() {
12
16
  expect(result.start.get('month')).toBe(8)
13
17
  expect(result.start.get('day')).toBe(15)
14
18
 
15
- expect(result.start).toBeDate(new Date(2012, 8-1, 15, 12));
16
- });
19
+ var resultDate = result.start.date();
20
+ var expectDate = new Date(2012, 8-1, 15, 12);
21
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
22
+ }
23
+
24
+ var text = "nós temos que fazer algo dentro de 10 dias";
25
+ var results = chrono.parse(text, new Date(2012,7,10));
26
+ expect(results.length).toBe(1)
17
27
 
18
- testSingleCase(chrono, 'nós temos que fazer algo dentro de 10 dias', new Date(2012,7,10), (result) => {
28
+ var result = results[0];
29
+ if(result){
19
30
  expect(result.index).toBe(25)
20
31
  expect(result.text).toBe('dentro de 10 dias')
21
32
 
@@ -24,28 +35,51 @@ test("Test - Single Expression", function() {
24
35
  expect(result.start.get('month')).toBe(8)
25
36
  expect(result.start.get('day')).toBe(20)
26
37
 
27
- expect(result.start).toBeDate(new Date(2012, 8-1, 20, 12));
28
- });
38
+ var resultDate = result.start.date();
39
+ var expectDate = new Date(2012, 8-1, 20, 12);
40
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
41
+ }
42
+
29
43
 
44
+ var text = "em 5 minutos";
45
+ var results = chrono.parse(text, new Date(2012,7,10,12,14));
46
+ expect(results.length).toBe(1)
30
47
 
31
- testSingleCase(chrono, 'em 5 minutos', new Date(2012,7,10,12,14), (result) => {
48
+ var result = results[0];
49
+ if(result){
32
50
  expect(result.index).toBe(0)
33
51
  expect(result.text).toBe('em 5 minutos')
34
52
 
35
- expect(result.start).toBeDate(new Date(2012,7,10,12,19));
36
- });
53
+ var resultDate = result.start.date();
54
+ var expectDate = new Date(2012,7,10,12,19);
55
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
56
+ }
37
57
 
38
- testSingleCase(chrono, 'em uma hora', new Date(2012,7,10,12,14), (result) => {
58
+ var text = "em uma hora";
59
+ var results = chrono.parse(text, new Date(2012,7,10,12,14));
60
+ expect(results.length).toBe(1)
61
+
62
+ var result = results[0];
63
+ if(result){
39
64
  expect(result.index).toBe(0)
40
65
  expect(result.text).toBe('em uma hora')
41
66
 
42
- expect(result.start).toBeDate(new Date(2012,7,10,13,14));
43
- });
67
+ var resultDate = result.start.date();
68
+ var expectDate = new Date(2012,7,10,13,14);
69
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
70
+ }
71
+
72
+ var text = "em meia hora";
73
+ var results = chrono.parse(text, new Date(2012,7,10,12,14));
74
+ expect(results.length).toBe(1)
44
75
 
45
- testSingleCase(chrono, 'em meia hora', new Date(2012,7,10,12,14), (result) => {
76
+ var result = results[0];
77
+ if(result){
46
78
  expect(result.index).toBe(0)
47
79
  expect(result.text).toBe('em meia hora')
48
80
 
49
- expect(result.start).toBeDate(new Date(2012,7,10,12,44));
50
- });
81
+ var resultDate = result.start.date();
82
+ var expectDate = new Date(2012,7,10,12,44);
83
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
84
+ }
51
85
  });