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,9 +1,14 @@
|
|
|
1
|
-
|
|
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
|
+
var text = "Genau in 5 Tagen müssen wir etwas unternehmen.";
|
|
6
|
+
var results = chrono.de.parse(text, new Date(2012,7,10));
|
|
7
|
+
|
|
8
|
+
expect(results.length).toBe(1);
|
|
9
|
+
|
|
10
|
+
var result = results[0];
|
|
11
|
+
if(result){
|
|
7
12
|
expect(result.index).toBe(6);
|
|
8
13
|
expect(result.text).toBe('in 5 Tagen');
|
|
9
14
|
|
|
@@ -12,12 +17,19 @@ test("Test - Single Expression", function() {
|
|
|
12
17
|
expect(result.start.get('month')).toBe(8);
|
|
13
18
|
expect(result.start.get('day')).toBe(15);
|
|
14
19
|
|
|
15
|
-
|
|
16
|
-
|
|
20
|
+
var resultDate = result.start.date();
|
|
21
|
+
var expectDate = new Date(2012, 8-1, 15, 12);
|
|
22
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
23
|
+
}
|
|
17
24
|
|
|
18
25
|
|
|
19
26
|
|
|
20
|
-
|
|
27
|
+
var text = "Wir müssen in fünf Tagen etwas unternehmen.";
|
|
28
|
+
var results = chrono.de.parse(text, new Date(2012,7,10));
|
|
29
|
+
expect(results.length).toBe(1);
|
|
30
|
+
|
|
31
|
+
var result = results[0];
|
|
32
|
+
if(result){
|
|
21
33
|
expect(result.index).toBe(11);
|
|
22
34
|
expect(result.text).toBe('in fünf Tagen');
|
|
23
35
|
|
|
@@ -26,103 +38,189 @@ test("Test - Single Expression", function() {
|
|
|
26
38
|
expect(result.start.get('month')).toBe(8);
|
|
27
39
|
expect(result.start.get('day')).toBe(15);
|
|
28
40
|
|
|
29
|
-
|
|
30
|
-
|
|
41
|
+
var resultDate = result.start.date();
|
|
42
|
+
var expectDate = new Date(2012, 8-1, 15, 12);
|
|
43
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
44
|
+
}
|
|
45
|
+
|
|
31
46
|
|
|
47
|
+
var text = "in 5 Minuten";
|
|
48
|
+
var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
|
|
49
|
+
expect(results.length).toBe(1);
|
|
32
50
|
|
|
33
|
-
|
|
51
|
+
var result = results[0];
|
|
52
|
+
if(result){
|
|
34
53
|
expect(result.index).toBe(0);
|
|
35
54
|
expect(result.text).toBe('in 5 Minuten');
|
|
36
55
|
|
|
37
|
-
|
|
38
|
-
|
|
56
|
+
var resultDate = result.start.date();
|
|
57
|
+
var expectDate = new Date(2012,7,10,12,19);
|
|
58
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
59
|
+
}
|
|
39
60
|
|
|
40
|
-
|
|
61
|
+
var text = "In 1 Stunde";
|
|
62
|
+
var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
|
|
63
|
+
expect(results.length).toBe(1);
|
|
64
|
+
|
|
65
|
+
var result = results[0];
|
|
66
|
+
if(result){
|
|
41
67
|
expect(result.index).toBe(0);
|
|
42
68
|
expect(result.text).toBe('In 1 Stunde');
|
|
43
69
|
|
|
44
|
-
|
|
45
|
-
|
|
70
|
+
var resultDate = result.start.date();
|
|
71
|
+
var expectDate = new Date(2012,7,10,13,14);
|
|
72
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
var text = "In 5 Minuten gehe ich nach Hause";
|
|
76
|
+
var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
|
|
77
|
+
expect(results.length).toBe(1);
|
|
46
78
|
|
|
47
|
-
|
|
79
|
+
var result = results[0];
|
|
80
|
+
if(result){
|
|
48
81
|
expect(result.index).toBe(0);
|
|
49
82
|
expect(result.text).toBe('In 5 Minuten');
|
|
50
83
|
|
|
51
|
-
|
|
52
|
-
|
|
84
|
+
var resultDate = result.start.date();
|
|
85
|
+
var expectDate = new Date(2012,7,10,12,19);
|
|
86
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
87
|
+
}
|
|
53
88
|
|
|
54
89
|
|
|
55
|
-
|
|
90
|
+
var text = "In 5 Minuten muss ein Auto umgestellt werden";
|
|
91
|
+
var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
|
|
92
|
+
expect(results.length).toBe(1);
|
|
93
|
+
|
|
94
|
+
var result = results[0];
|
|
95
|
+
if(result){
|
|
56
96
|
expect(result.index).toBe(0);
|
|
57
97
|
expect(result.text).toBe('In 5 Minuten');
|
|
58
98
|
|
|
59
|
-
|
|
60
|
-
|
|
99
|
+
var resultDate = result.start.date();
|
|
100
|
+
var expectDate = new Date(2012,7,10,12,19);
|
|
101
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
102
|
+
}
|
|
103
|
+
|
|
61
104
|
|
|
105
|
+
var text = "In 5 Sekunden wird es zu schneien beginnen";
|
|
106
|
+
var results = chrono.de.parse(text, new Date(2012,7, 10, 12, 14));
|
|
107
|
+
expect(results.length).toBe(1);
|
|
62
108
|
|
|
63
|
-
|
|
109
|
+
var result = results[0];
|
|
110
|
+
if(result){
|
|
64
111
|
expect(result.index).toBe(0);
|
|
65
112
|
expect(result.text).toBe('In 5 Sekunden');
|
|
66
113
|
|
|
67
|
-
|
|
68
|
-
|
|
114
|
+
var resultDate = result.start.date();
|
|
115
|
+
var expectDate = new Date(2012, 7, 10, 12, 14, 5);
|
|
116
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
117
|
+
}
|
|
69
118
|
|
|
70
119
|
|
|
71
|
-
|
|
120
|
+
var text = "in einer halben Stunde";
|
|
121
|
+
var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
|
|
122
|
+
expect(results.length).toBe(1);
|
|
123
|
+
|
|
124
|
+
var result = results[0];
|
|
125
|
+
if(result){
|
|
72
126
|
expect(result.index).toBe(0);
|
|
73
127
|
expect(result.text).toBe('in einer halben Stunde');
|
|
74
128
|
|
|
75
|
-
|
|
76
|
-
|
|
129
|
+
var resultDate = result.start.date();
|
|
130
|
+
var expectDate = new Date(2012,7,10,12,44);
|
|
131
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
132
|
+
}
|
|
133
|
+
|
|
77
134
|
|
|
135
|
+
var text = "in zwei Wochen";
|
|
136
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12, 14));
|
|
137
|
+
expect(results.length).toBe(1);
|
|
78
138
|
|
|
79
|
-
|
|
139
|
+
var result = results[0];
|
|
140
|
+
if(result){
|
|
80
141
|
expect(result.index).toBe(0);
|
|
81
142
|
expect(result.text).toBe('in zwei Wochen');
|
|
82
143
|
|
|
83
|
-
|
|
84
|
-
|
|
144
|
+
var resultDate = result.start.date();
|
|
145
|
+
var expectDate = new Date(2012, 7, 24, 12);
|
|
146
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
147
|
+
}
|
|
85
148
|
|
|
86
149
|
|
|
87
|
-
|
|
150
|
+
var text = "in einem Monat";
|
|
151
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12, 14));
|
|
152
|
+
expect(results.length).toBe(1);
|
|
153
|
+
|
|
154
|
+
var result = results[0];
|
|
155
|
+
if(result){
|
|
88
156
|
expect(result.index).toBe(0);
|
|
89
157
|
expect(result.text).toBe('in einem Monat');
|
|
90
158
|
|
|
91
|
-
|
|
92
|
-
|
|
159
|
+
var resultDate = result.start.date();
|
|
160
|
+
var expectDate = new Date(2012, 8, 10, 12);
|
|
161
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
162
|
+
}
|
|
163
|
+
|
|
93
164
|
|
|
165
|
+
var text = "in einigen Monaten";
|
|
166
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12, 14));
|
|
167
|
+
expect(results.length).toBe(1);
|
|
94
168
|
|
|
95
|
-
|
|
169
|
+
var result = results[0];
|
|
170
|
+
if(result){
|
|
96
171
|
expect(result.index).toBe(0);
|
|
97
172
|
expect(result.text).toBe('in einigen Monaten');
|
|
98
173
|
|
|
99
|
-
|
|
100
|
-
|
|
174
|
+
var resultDate = result.start.date();
|
|
175
|
+
var expectDate = new Date(2012, 10, 10, 12);
|
|
176
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
177
|
+
}
|
|
101
178
|
|
|
102
179
|
|
|
103
|
-
|
|
180
|
+
var text = "in einem Jahr";
|
|
181
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12, 14));
|
|
182
|
+
expect(results.length).toBe(1);
|
|
183
|
+
|
|
184
|
+
var result = results[0];
|
|
185
|
+
if(result){
|
|
104
186
|
expect(result.index).toBe(0);
|
|
105
187
|
expect(result.text).toBe('in einem Jahr');
|
|
106
188
|
|
|
107
|
-
|
|
108
|
-
|
|
189
|
+
var resultDate = result.start.date();
|
|
190
|
+
var expectDate = new Date(2013, 7, 10, 12);
|
|
191
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
192
|
+
}
|
|
193
|
+
|
|
109
194
|
|
|
195
|
+
var text = "In Einem jahr";
|
|
196
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12, 14));
|
|
197
|
+
expect(results.length).toBe(1);
|
|
110
198
|
|
|
111
|
-
|
|
199
|
+
var result = results[0];
|
|
200
|
+
if(result){
|
|
112
201
|
expect(result.index).toBe(0);
|
|
113
202
|
expect(result.text).toBe('In Einem jahr');
|
|
114
203
|
|
|
115
|
-
|
|
116
|
-
|
|
204
|
+
var resultDate = result.start.date();
|
|
205
|
+
var expectDate = new Date(2013, 7, 10, 12);
|
|
206
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
207
|
+
}
|
|
208
|
+
|
|
117
209
|
|
|
118
210
|
|
|
211
|
+
var text = "In 5 min kommt der Weihnachstmann";
|
|
212
|
+
var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
|
|
213
|
+
expect(results.length).toBe(1);
|
|
119
214
|
|
|
120
|
-
|
|
215
|
+
var result = results[0];
|
|
216
|
+
if(result){
|
|
121
217
|
expect(result.index).toBe(0);
|
|
122
218
|
expect(result.text).toBe('In 5 min');
|
|
123
219
|
|
|
124
|
-
|
|
125
|
-
|
|
220
|
+
var resultDate = result.start.date();
|
|
221
|
+
var expectDate = new Date(2012,7,10,12,19);
|
|
222
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
223
|
+
}
|
|
126
224
|
|
|
127
225
|
|
|
128
226
|
});
|
|
@@ -130,11 +228,17 @@ test("Test - Single Expression", function() {
|
|
|
130
228
|
|
|
131
229
|
test("Test - Single Expression (Strict)", function() {
|
|
132
230
|
|
|
133
|
-
|
|
231
|
+
var text = "in einem Jahr";
|
|
232
|
+
var results = chrono.strict.parse(text, new Date(2012,7,10,12,14));
|
|
233
|
+
expect(results.length).toBe(0);
|
|
134
234
|
|
|
135
235
|
|
|
136
|
-
|
|
236
|
+
var text = "in einigen Monaten";
|
|
237
|
+
var results = chrono.strict.parse(text, new Date(2012, 8-1, 3));
|
|
238
|
+
expect(results.length).toBe(0)
|
|
137
239
|
|
|
138
240
|
|
|
139
|
-
|
|
241
|
+
var text = "in einigen Tagen";
|
|
242
|
+
var results = chrono.strict.parse(text, new Date(2012, 8-1, 3));
|
|
243
|
+
expect(results.length).toBe(0)
|
|
140
244
|
});
|