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.
- package/dist/chrono.js +711 -809
- package/dist/chrono.js.map +1 -1
- package/dist/chrono.min.js +1 -1
- package/dist/chrono.min.js.map +1 -1
- package/package.json +1 -1
- package/src/chrono.js +57 -59
- package/src/options.js +30 -29
- package/src/parsers/en/ENDeadlineFormatParser.js +9 -9
- package/src/result.js +119 -119
- package/test/de/de.test.js +36 -51
- package/test/de/de_casual.test.js +242 -141
- package/test/de/de_dash.test.js +5 -8
- package/test/de/de_deadline.test.js +151 -47
- package/test/de/de_little_endian.test.js +207 -58
- package/test/de/de_time_ago.test.js +167 -52
- package/test/de/de_time_exp.test.js +135 -121
- package/test/de/de_weekday.test.js +94 -31
- package/test/en/en.test.js +118 -89
- package/test/en/en_casual.test.js +149 -134
- package/test/en/en_dash.test.js +17 -11
- package/test/en/en_deadline.test.js +93 -69
- package/test/en/en_inter_std.test.js +28 -7
- package/test/en/en_little_endian.test.js +76 -26
- package/test/en/en_middle_endian.test.js +63 -21
- package/test/en/en_month.test.js +6 -2
- package/test/en/en_option_forward.test.js +120 -112
- package/test/en/en_relative.test.js +155 -172
- package/test/en/en_slash.test.js +156 -115
- package/test/en/en_time_ago.test.js +61 -21
- package/test/en/en_time_exp.test.js +228 -209
- package/test/en/en_time_from_now.test.js +70 -24
- package/test/en/en_time_later.test.js +16 -6
- package/test/en/en_weekday.test.js +39 -13
- package/test/es/es_casual.test.js +143 -120
- package/test/es/es_dash.test.js +7 -8
- package/test/es/es_deadline.test.js +69 -35
- package/test/es/es_little_endian.test.js +250 -145
- package/test/es/es_slash.test.js +17 -12
- package/test/es/es_time_ago.test.js +21 -7
- package/test/es/es_time_exp.test.js +154 -160
- package/test/fr/fr_casual.test.js +153 -124
- package/test/fr/fr_dash.test.js +13 -6
- package/test/fr/fr_deadline.test.js +163 -44
- package/test/fr/fr_little_endian.test.js +262 -81
- package/test/fr/fr_relative.test.js +188 -196
- package/test/fr/fr_slash.test.js +41 -14
- package/test/fr/fr_time_ago.test.js +30 -10
- package/test/fr/fr_time_exp.test.js +619 -567
- package/test/fr/fr_weekday.test.js +24 -8
- package/test/ja/ja_casual.test.js +41 -26
- package/test/ja/ja_standard.test.js +322 -207
- package/test/nl/nl.test.js +18 -20
- package/test/nl/nl_dash.test.js +26 -26
- package/test/nl/nl_little_endian.test.js +100 -51
- package/test/nl/nl_time_exp.test.js +37 -13
- package/test/nl/nl_weekday.test.js +39 -13
- package/test/pt/pt_casual.test.js +222 -156
- package/test/pt/pt_dash.test.js +7 -6
- package/test/pt/pt_deadline.test.js +51 -17
- package/test/pt/pt_little_endian.test.js +251 -144
- package/test/pt/pt_slash.test.js +38 -25
- package/test/pt/pt_time_ago.test.js +128 -80
- package/test/pt/pt_time_exp.test.js +191 -173
- package/test/test_util.js +1 -5
- package/test/zh/zh_hant_casual.test.js +184 -87
- package/test/zh/zh_hant_date.test.js +109 -75
- package/test/zh/zh_hant_deadline.test.js +131 -41
- package/test/zh/zh_hant_time_exp.test.js +184 -141
- 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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
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
|
-
|
|
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
|
-
|
|
172
|
-
|
|
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
|
-
|
|
192
|
+
var text = "nohoy";
|
|
193
|
+
var results = chrono.es.parse(text);
|
|
194
|
+
expect(results.length).toBe(0)
|
|
180
195
|
|
|
181
196
|
|
|
182
|
-
|
|
197
|
+
var text = "hymañana";
|
|
198
|
+
var results = chrono.es.parse(text);
|
|
199
|
+
expect(results.length).toBe(0)
|
|
183
200
|
|
|
184
|
-
|
|
201
|
+
var text = "xayer";
|
|
202
|
+
var results = chrono.es.parse(text);
|
|
203
|
+
expect(results.length).toBe(0)
|
|
185
204
|
|
|
186
|
-
|
|
205
|
+
var text = "porahora";
|
|
206
|
+
var results = chrono.es.parse(text);
|
|
207
|
+
expect(results.length).toBe(0)
|
|
187
208
|
|
|
188
|
-
|
|
209
|
+
var text = "ahoraxsd";
|
|
210
|
+
var results = chrono.es.parse(text);
|
|
211
|
+
expect(results.length).toBe(0)
|
|
189
212
|
|
|
190
|
-
})
|
|
213
|
+
})
|
package/test/es/es_dash.test.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2
|
-
import { testSingleCase } from '../test_util';
|
|
1
|
+
var chrono = require('../../src/chrono');
|
|
3
2
|
|
|
4
3
|
test("Test - Single Expression", function() {
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
expect(result.
|
|
13
|
-
expect(result.
|
|
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).
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
expect(
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
expect(
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
expect(
|
|
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
|
-
|
|
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
|
});
|