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,108 +1,124 @@
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
5
 
6
6
 
7
7
  testSingleCase(chrono.es, "La fecha límite es ahora", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
8
- expect(result.index).toBe(19);
9
- expect(result.text).toBe('ahora');
10
-
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));
8
+ expect(result.index).toBe(19)
9
+ expect(result.text).toBe('ahora')
10
+
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
+ var resultDate = result.start.date();
21
+ var expectDate = new Date(2012, 7, 10, 8, 9, 10, 11);
22
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
21
23
  });
22
24
 
23
25
 
24
26
  testSingleCase(chrono.es, "La fecha límite es hoy", new Date(2012, 7, 10, 12), (result) => {
25
- expect(result.index).toBe(19);
26
- expect(result.text).toBe('hoy');
27
+ expect(result.index).toBe(19)
28
+ expect(result.text).toBe('hoy')
27
29
 
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);
30
+ expect(result.start).not.toBeNull()
31
+ expect(result.start.get('year')).toBe(2012)
32
+ expect(result.start.get('month')).toBe(8)
33
+ expect(result.start.get('day')).toBe(10)
32
34
 
33
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
35
+ var resultDate = result.start.date();
36
+ var expectDate = new Date(2012, 7, 10, 12);
37
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
34
38
  });
35
39
 
36
40
 
37
41
  testSingleCase(chrono.es, "La fecha límite es Mañana", new Date(2012, 7, 10, 12), (result) => {
38
- expect(result.index).toBe(19);
39
- expect(result.text).toBe('Mañana');
42
+ expect(result.index).toBe(19)
43
+ expect(result.text).toBe('Mañana')
40
44
 
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
+ expect(result.start).not.toBeNull()
46
+ expect(result.start.get('year')).toBe(2012)
47
+ expect(result.start.get('month')).toBe(8)
48
+ expect(result.start.get('day')).toBe(11)
45
49
 
46
- expect(result.start).toBeDate(new Date(2012, 7, 11, 12));
50
+ var resultDate = result.start.date();
51
+ var expectDate = new Date(2012, 7, 11, 12);
52
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
47
53
  });
48
54
 
49
55
  testSingleCase(chrono.es, "La fecha límite es Mañana", new Date(2012, 7, 10, 1), (result) => {
50
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
56
+ var resultDate = result.start.date();
57
+ var expectDate = new Date(2012, 7, 10, 12);
58
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
51
59
  });
52
60
 
53
61
 
54
62
  testSingleCase(chrono.es, "La fecha límite fue ayer", new Date(2012, 7, 10, 12), (result) => {
55
- expect(result.index).toBe(20);
56
- expect(result.text).toBe('ayer');
63
+ expect(result.index).toBe(20)
64
+ expect(result.text).toBe('ayer')
57
65
 
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);
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(9)
62
70
 
63
- expect(result.start).toBeDate(new Date(2012, 7, 9, 12));
71
+ var resultDate = result.start.date();
72
+ var expectDate = new Date(2012, 7, 9, 12);
73
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
64
74
  });
65
75
 
66
76
 
67
77
  testSingleCase(chrono.es, "La fehca límite fue anoche ", new Date(2012, 7, 10, 12), (result) => {
68
- expect(result.index).toBe(20);
69
- expect(result.text).toBe('anoche');
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(0);
76
-
77
- expect(result.start).toBeDate(new Date(2012, 7, 9, 0));
78
+ expect(result.index).toBe(20)
79
+ expect(result.text).toBe('anoche')
80
+
81
+ expect(result.start).not.toBeNull()
82
+ expect(result.start.get('year')).toBe(2012)
83
+ expect(result.start.get('month')).toBe(8)
84
+ expect(result.start.get('day')).toBe(9)
85
+ expect(result.start.get('hour')).toBe(0)
86
+
87
+ var resultDate = result.start.date();
88
+ var expectDate = new Date(2012, 7, 9, 0);
89
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
78
90
  });
79
91
 
80
92
 
81
93
  testSingleCase(chrono.es, "La fecha límite fue esta mañana ", new Date(2012, 7, 10, 12), (result) => {
82
- expect(result.index).toBe(20);
83
- expect(result.text).toBe('esta mañana');
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));
94
+ expect(result.index).toBe(20)
95
+ expect(result.text).toBe('esta mañana')
96
+
97
+ expect(result.start).not.toBeNull()
98
+ expect(result.start.get('year')).toBe(2012)
99
+ expect(result.start.get('month')).toBe(8)
100
+ expect(result.start.get('day')).toBe(10)
101
+ expect(result.start.get('hour')).toBe(6)
102
+
103
+ var resultDate = result.start.date();
104
+ var expectDate = new Date(2012, 7, 10, 6);
105
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
92
106
  });
93
107
 
94
108
 
95
109
  testSingleCase(chrono.es, "La fecha límite fue esta tarde ", new Date(2012, 7, 10, 12), (result) => {
96
- expect(result.index).toBe(20);
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));
110
+ expect(result.index).toBe(20)
111
+ expect(result.text).toBe('esta tarde')
112
+
113
+ expect(result.start).not.toBeNull()
114
+ expect(result.start.get('year')).toBe(2012)
115
+ expect(result.start.get('month')).toBe(8)
116
+ expect(result.start.get('day')).toBe(10)
117
+ expect(result.start.get('hour')).toBe(18)
118
+
119
+ var resultDate = result.start.date();
120
+ var expectDate = new Date(2012, 7, 10, 18);
121
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
106
122
  });
107
123
  });
108
124
 
@@ -111,80 +127,87 @@ test("Test - Combined Expression", function() {
111
127
 
112
128
 
113
129
  testSingleCase(chrono.es, "La fecha límite es hoy 5PM", new Date(2012, 7, 10, 12), (result) => {
114
- expect(result.index).toBe(19);
115
- expect(result.text).toBe('hoy 5PM');
116
-
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);
122
-
123
- expect(result.start).toBeDate(new Date(2012, 7, 10, 17));
130
+ expect(result.index).toBe(19)
131
+ expect(result.text).toBe('hoy 5PM')
132
+
133
+ expect(result.start).not.toBeNull()
134
+ expect(result.start.get('year')).toBe(2012)
135
+ expect(result.start.get('month')).toBe(8)
136
+ expect(result.start.get('day')).toBe(10)
137
+ expect(result.start.get('hour')).toBe(17)
138
+
139
+ var resultDate = result.start.date();
140
+ var expectDate = new Date(2012, 7, 10, 17);
141
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
124
142
  });
125
143
  });
126
144
 
127
145
 
128
146
  test('Test - Random text', function() {
129
147
 
130
- testSingleCase(chrono.es, 'esta noche', new Date(2012, 1-1, 1, 12), (result, text) => {
131
-
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
- });
139
-
140
- testSingleCase(chrono.es, 'esta noche 8pm', new Date(2012, 1-1, 1, 12), (result, text) => {
141
-
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
- });
149
-
150
-
151
- testSingleCase(chrono.es, 'esta noche at 8', new Date(2012, 1-1, 1, 12), (result, text) => {
148
+ var text = "esta noche";
149
+ var result = chrono.es.parse(text, new Date(2012, 1-1, 1, 12))[0];
150
+ expect(result.text).toBe(text)
151
+ expect(result.start.get('year')).toBe(2012)
152
+ expect(result.start.get('month')).toBe(1)
153
+ expect(result.start.get('day')).toBe(1)
154
+ expect(result.start.get('hour')).toBe(22)
155
+ expect(result.start.get('meridiem') ).toBe(1)
152
156
 
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
- });
157
+ var text = "esta noche 8pm";
158
+ var result = chrono.es.parse(text, new Date(2012, 1-1, 1, 12))[0];
159
+ expect(result.text).toBe(text)
160
+ expect(result.start.get('hour') ).toBe(20)
161
+ expect(result.start.get('year') ).toBe(2012)
162
+ expect(result.start.get('month')).toBe(1)
163
+ expect(result.start.get('day') ).toBe(1)
164
+ expect(result.start.get('meridiem') ).toBe(1)
160
165
 
161
166
 
162
- testSingleCase(chrono.es, 'jueves', (result, text) => {
167
+ var text = "esta noche at 8"; // TODO
168
+ var result = chrono.es.parse(text, new Date(2012, 1-1, 1, 12))[0];
169
+ expect(result.text).toBe(text)
170
+ expect(result.start.get('hour') ).toBe(20)
171
+ expect(result.start.get('year') ).toBe(2012)
172
+ expect(result.start.get('month')).toBe(1)
173
+ expect(result.start.get('day') ).toBe(1)
174
+ expect(result.start.get('meridiem') ).toBe(1)
163
175
 
164
- expect(result.text).toBe(text);
165
- expect(result.start.get('weekday')).toBe(4);
166
- });
167
176
 
177
+ var text = "jueves";
178
+ var result = chrono.es.parse(text)[0];
179
+ expect(result.text).toBe(text)
180
+ expect(result.start.get('weekday')).toBe(4)
168
181
 
169
- testSingleCase(chrono.es, 'viernes', (result, text) => {
170
182
 
171
- expect(result.text).toBe(text);
172
- expect(result.start.get('weekday')).toBe(5);
173
- });
174
- });
183
+ var text = "viernes";
184
+ var result = chrono.es.parse(text)[0];
185
+ expect(result.text).toBe(text)
186
+ expect(result.start.get('weekday')).toBe(5)
187
+ })
175
188
 
176
189
 
177
190
  test('Test - Random negative text', function() {
178
191
 
179
- testUnexpectedResult(chrono.es, 'nohoy');
192
+ var text = "nohoy";
193
+ var results = chrono.es.parse(text);
194
+ expect(results.length).toBe(0)
180
195
 
181
196
 
182
- testUnexpectedResult(chrono.es, 'hymañana');
197
+ var text = "hymañana";
198
+ var results = chrono.es.parse(text);
199
+ expect(results.length).toBe(0)
183
200
 
184
- testUnexpectedResult(chrono.es, 'xayer');
201
+ var text = "xayer";
202
+ var results = chrono.es.parse(text);
203
+ expect(results.length).toBe(0)
185
204
 
186
- testUnexpectedResult(chrono.es, 'porahora');
205
+ var text = "porahora";
206
+ var results = chrono.es.parse(text);
207
+ expect(results.length).toBe(0)
187
208
 
188
- testUnexpectedResult(chrono.es, 'ahoraxsd')
209
+ var text = "ahoraxsd";
210
+ var results = chrono.es.parse(text);
211
+ expect(results.length).toBe(0)
189
212
 
190
- });
213
+ })
@@ -1,14 +1,13 @@
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 - Should handle es dayname dd-mm-yy", function() {
5
-
6
- testSingleCase(chrono.strict, 'Viernes 30-12-16', new Date(2012,7,10));
7
-
4
+ var text = "Viernes 30-12-16";
5
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
6
+ expect(results.length).toBe(1)
8
7
  });
9
8
 
10
9
  test("Test - Should handle es dd-mm-yy", function() {
11
-
12
- testSingleCase(chrono.strict, '30-12-16', new Date(2012,7,10));
13
-
10
+ var text = "30-12-16";
11
+ var results = chrono.strict.parse(text, new Date(2012,7,10));
12
+ expect(results.length).toBe(1)
14
13
  });
@@ -1,51 +1,85 @@
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, 'tenemos que hacer algo en 5 días.', new Date(2012,7,10), (result) => {
7
- expect(result.index).toBe(23);
8
- expect(result.text).toBe('en 5 días');
5
+ var text = "tenemos que hacer algo en 5 días.";
6
+ var results = chrono.parse(text, new Date(2012,7,10));
7
+ expect(results.length).toBe(1)
9
8
 
10
- expect(result.start).not.toBeNull();
11
- expect(result.start.get('year')).toBe(2012);
12
- expect(result.start.get('month')).toBe(8);
13
- expect(result.start.get('day')).toBe(15);
9
+ var result = results[0];
10
+ if(result){
11
+ expect(result.index).toBe(23)
12
+ expect(result.text).toBe('en 5 días')
14
13
 
15
- expect(result.start).toBeDate(new Date(2012, 8-1, 15, 12));
16
- });
14
+ expect(result.start).not.toBeNull()
15
+ expect(result.start.get('year')).toBe(2012)
16
+ expect(result.start.get('month')).toBe(8)
17
+ expect(result.start.get('day')).toBe(15)
17
18
 
18
- testSingleCase(chrono, 'tenemos que hacer algo dentro de 10 dias', new Date(2012,7,10), (result) => {
19
- expect(result.index).toBe(23);
20
- expect(result.text).toBe('dentro de 10 dias');
19
+ var resultDate = result.start.date();
20
+ var expectDate = new Date(2012, 8-1, 15, 12);
21
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
22
+ }
21
23
 
22
- expect(result.start).not.toBeNull();
23
- expect(result.start.get('year')).toBe(2012);
24
- expect(result.start.get('month')).toBe(8);
25
- expect(result.start.get('day')).toBe(20);
24
+ var text = "tenemos que hacer algo dentro de 10 dias";
25
+ var results = chrono.parse(text, new Date(2012,7,10));
26
+ expect(results.length).toBe(1)
26
27
 
27
- expect(result.start).toBeDate(new Date(2012, 8-1, 20, 12));
28
- });
28
+ var result = results[0];
29
+ if(result){
30
+ expect(result.index).toBe(23)
31
+ expect(result.text).toBe('dentro de 10 dias')
29
32
 
33
+ expect(result.start).not.toBeNull()
34
+ expect(result.start.get('year')).toBe(2012)
35
+ expect(result.start.get('month')).toBe(8)
36
+ expect(result.start.get('day')).toBe(20)
30
37
 
31
- testSingleCase(chrono, 'en 5 minutos', new Date(2012,7,10,12,14), (result) => {
32
- expect(result.index).toBe(0);
33
- expect(result.text).toBe('en 5 minutos');
38
+ var resultDate = result.start.date();
39
+ var expectDate = new Date(2012, 8-1, 20, 12);
40
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
41
+ }
34
42
 
35
- expect(result.start).toBeDate(new Date(2012,7,10,12,19));
36
- });
37
43
 
38
- testSingleCase(chrono, 'en una hora', new Date(2012,7,10,12,14), (result) => {
39
- expect(result.index).toBe(0);
40
- expect(result.text).toBe('en una hora');
44
+ var text = "en 5 minutos";
45
+ var results = chrono.parse(text, new Date(2012,7,10,12,14));
46
+ expect(results.length).toBe(1)
41
47
 
42
- expect(result.start).toBeDate(new Date(2012,7,10,13,14));
43
- });
48
+ var result = results[0];
49
+ if(result){
50
+ expect(result.index).toBe(0)
51
+ expect(result.text).toBe('en 5 minutos')
44
52
 
45
- testSingleCase(chrono, 'en media hora', new Date(2012,7,10,12,14), (result) => {
46
- expect(result.index).toBe(0);
47
- expect(result.text).toBe('en media hora');
53
+ var resultDate = result.start.date();
54
+ var expectDate = new Date(2012,7,10,12,19);
55
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
56
+ }
48
57
 
49
- expect(result.start).toBeDate(new Date(2012,7,10,12,44));
50
- });
58
+ var text = "en una 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){
64
+ expect(result.index).toBe(0)
65
+ expect(result.text).toBe('en una hora')
66
+
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 = "en media hora";
73
+ var results = chrono.parse(text, new Date(2012,7,10,12,14));
74
+ expect(results.length).toBe(1)
75
+
76
+ var result = results[0];
77
+ if(result){
78
+ expect(result.index).toBe(0)
79
+ expect(result.text).toBe('en media hora')
80
+
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
  });