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
package/test/de/de.test.js
CHANGED
|
@@ -1,66 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
});
|
|
1
|
+
var chrono = require('../../src/chrono');
|
|
2
|
+
test('Test - Random text', function() {
|
|
3
|
+
|
|
4
|
+
var text = "...Donnerstag, 15. Dezember 2011 Best Available Rate "
|
|
5
|
+
var results = chrono.parse(text);
|
|
6
|
+
expect(results.length).toBeGreaterThanOrEqual(1)
|
|
7
|
+
expect(results[0].start.get('day')).toBe(15)
|
|
8
|
+
expect(results[0].start.get('month')).toBe(12)
|
|
9
|
+
expect(results[0].start.get('year')).toBe(2011)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var text = "9:00 bis 17:00, Dienstag, 20. Mai 2013"
|
|
13
|
+
var results = chrono.parse(text);
|
|
14
|
+
expect(results.length).toBe(1)
|
|
15
|
+
expect(results[0].start.get('hour')).toBe(9)
|
|
16
|
+
expect(results[0].end.get('hour')).toBe(17)
|
|
17
|
+
expect(results[0].end.get('meridiem')).toBe(1)
|
|
18
|
+
expect(results[0].end.get('day')).toBe(20)
|
|
19
|
+
expect(results[0].end.get('month')).toBe(5)
|
|
20
|
+
expect(results[0].end.get('year')).toBe(2013)
|
|
22
21
|
});
|
|
23
22
|
|
|
24
23
|
|
|
25
|
-
test('Test -
|
|
24
|
+
test('Test - German support in default setting', function() {
|
|
26
25
|
|
|
27
26
|
// German's formal text should be handle by default casual and strict
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
{
|
|
32
|
-
const results = chrono.parse(text);
|
|
33
|
-
expect(results.length).toBe(1);
|
|
34
|
-
}
|
|
28
|
+
var text = "9:00 bis 17:00, Dienstag, 20. Mai 2013";
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
expect(results.length).toBe(1);
|
|
39
|
-
}
|
|
30
|
+
var results = chrono.parse(text);
|
|
31
|
+
expect(results.length).toBe(1);
|
|
40
32
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
expect(results.length).toBe(1);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
33
|
+
var results = chrono.strict.parse(text);
|
|
34
|
+
expect(results.length).toBe(1);
|
|
46
35
|
|
|
36
|
+
var results = chrono.de.parse(text);
|
|
37
|
+
expect(results.length).toBe(1);
|
|
47
38
|
|
|
48
|
-
|
|
39
|
+
// German's casual text (e.g. "do" is abbreviation of "Donnerstag")should be skipped
|
|
49
40
|
|
|
50
|
-
|
|
41
|
+
var text = "Do";
|
|
51
42
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
expect(results.length).toBe(0);
|
|
55
|
-
}
|
|
43
|
+
var results = chrono.parse(text);
|
|
44
|
+
expect(results.length).toBe(0);
|
|
56
45
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
expect(results.length).toBe(0);
|
|
60
|
-
}
|
|
46
|
+
var results = chrono.strict.parse(text);
|
|
47
|
+
expect(results.length).toBe(0);
|
|
61
48
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
expect(results.length).toBe(1);
|
|
65
|
-
}
|
|
49
|
+
var results = chrono.de.parse(text);
|
|
50
|
+
expect(results.length).toBe(1);
|
|
66
51
|
});
|
|
@@ -1,10 +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
|
|
|
7
|
-
|
|
6
|
+
var text = "Die Deadline ist jetzt";
|
|
7
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 8, 9, 10, 11));
|
|
8
|
+
expect(results.length).toBe(1);
|
|
9
|
+
|
|
10
|
+
var result = results[0];
|
|
11
|
+
if(result){
|
|
8
12
|
expect(result.index).toBe(17);
|
|
9
13
|
expect(result.text).toBe('jetzt');
|
|
10
14
|
|
|
@@ -17,11 +21,18 @@ test("Test - Single Expression", function() {
|
|
|
17
21
|
expect(result.start.get('second')).toBe(10);
|
|
18
22
|
expect(result.start.get('millisecond')).toBe(11);
|
|
19
23
|
|
|
20
|
-
|
|
21
|
-
|
|
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
|
+
|
|
22
29
|
|
|
30
|
+
var text = "Die Deadline ist heute";
|
|
31
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
32
|
+
expect(results.length).toBe(1);
|
|
23
33
|
|
|
24
|
-
|
|
34
|
+
var result = results[0];
|
|
35
|
+
if(result){
|
|
25
36
|
expect(result.index).toBe(17);
|
|
26
37
|
expect(result.text).toBe('heute');
|
|
27
38
|
|
|
@@ -30,11 +41,18 @@ test("Test - Single Expression", function() {
|
|
|
30
41
|
expect(result.start.get('month')).toBe(8);
|
|
31
42
|
expect(result.start.get('day')).toBe(10);
|
|
32
43
|
|
|
33
|
-
|
|
34
|
-
|
|
44
|
+
var resultDate = result.start.date();
|
|
45
|
+
var expectDate = new Date(2012, 7, 10, 12);
|
|
46
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
47
|
+
}
|
|
48
|
+
|
|
35
49
|
|
|
50
|
+
var text = "Die Deadline ist morgen";
|
|
51
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
52
|
+
expect(results.length).toBe(1);
|
|
36
53
|
|
|
37
|
-
|
|
54
|
+
var result = results[0];
|
|
55
|
+
if(result){
|
|
38
56
|
expect(result.index).toBe(17);
|
|
39
57
|
expect(result.text).toBe('morgen');
|
|
40
58
|
|
|
@@ -43,16 +61,30 @@ test("Test - Single Expression", function() {
|
|
|
43
61
|
expect(result.start.get('month')).toBe(8);
|
|
44
62
|
expect(result.start.get('day')).toBe(11);
|
|
45
63
|
|
|
46
|
-
|
|
47
|
-
|
|
64
|
+
var resultDate = result.start.date();
|
|
65
|
+
var expectDate = new Date(2012, 7, 11, 12);
|
|
66
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
67
|
+
}
|
|
48
68
|
|
|
49
69
|
// Say.."Tomorrow" in the late night (1 AM)
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
70
|
+
var text = "Die Deadline ist morgen";
|
|
71
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 1));
|
|
72
|
+
expect(results.length).toBe(1);
|
|
73
|
+
|
|
74
|
+
var result = results[0];
|
|
75
|
+
if(result){
|
|
76
|
+
var resultDate = result.start.date();
|
|
77
|
+
var expectDate = new Date(2012, 7, 10, 12);
|
|
78
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
79
|
+
}
|
|
80
|
+
|
|
53
81
|
|
|
82
|
+
var text = "Die Deadline war gestern";
|
|
83
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
84
|
+
expect(results.length).toBe(1);
|
|
54
85
|
|
|
55
|
-
|
|
86
|
+
var result = results[0];
|
|
87
|
+
if(result){
|
|
56
88
|
expect(result.index).toBe(17);
|
|
57
89
|
expect(result.text).toBe('gestern');
|
|
58
90
|
|
|
@@ -61,11 +93,18 @@ test("Test - Single Expression", function() {
|
|
|
61
93
|
expect(result.start.get('month')).toBe(8);
|
|
62
94
|
expect(result.start.get('day')).toBe(9);
|
|
63
95
|
|
|
64
|
-
|
|
65
|
-
|
|
96
|
+
var resultDate = result.start.date();
|
|
97
|
+
var expectDate = new Date(2012, 7, 9, 12);
|
|
98
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
99
|
+
}
|
|
66
100
|
|
|
67
101
|
|
|
68
|
-
|
|
102
|
+
var text = "Die Deadline war letzte Nacht ";
|
|
103
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
104
|
+
expect(results.length).toBe(1);
|
|
105
|
+
|
|
106
|
+
var result = results[0];
|
|
107
|
+
if(result){
|
|
69
108
|
expect(result.index).toBe(17);
|
|
70
109
|
expect(result.text).toBe('letzte Nacht');
|
|
71
110
|
|
|
@@ -75,11 +114,18 @@ test("Test - Single Expression", function() {
|
|
|
75
114
|
expect(result.start.get('day')).toBe(9);
|
|
76
115
|
expect(result.start.get('hour')).toBe(0);
|
|
77
116
|
|
|
78
|
-
|
|
79
|
-
|
|
117
|
+
var resultDate = result.start.date();
|
|
118
|
+
var expectDate = new Date(2012, 7, 9, 0);
|
|
119
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
120
|
+
}
|
|
121
|
+
|
|
80
122
|
|
|
123
|
+
var text = "Die Deadline war gestern Nacht ";
|
|
124
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
125
|
+
expect(results.length).toBe(1);
|
|
81
126
|
|
|
82
|
-
|
|
127
|
+
var result = results[0];
|
|
128
|
+
if(result){
|
|
83
129
|
expect(result.index).toBe(17);
|
|
84
130
|
expect(result.text).toBe('gestern Nacht');
|
|
85
131
|
|
|
@@ -89,11 +135,18 @@ test("Test - Single Expression", function() {
|
|
|
89
135
|
expect(result.start.get('day')).toBe(9);
|
|
90
136
|
expect(result.start.get('hour')).toBe(0);
|
|
91
137
|
|
|
92
|
-
|
|
93
|
-
|
|
138
|
+
var resultDate = result.start.date();
|
|
139
|
+
var expectDate = new Date(2012, 7, 9, 0);
|
|
140
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
141
|
+
}
|
|
142
|
+
|
|
94
143
|
|
|
144
|
+
var text = "Die Deadline war heute Morgen ";
|
|
145
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
146
|
+
expect(results.length).toBe(1);
|
|
95
147
|
|
|
96
|
-
|
|
148
|
+
var result = results[0];
|
|
149
|
+
if(result){
|
|
97
150
|
expect(result.index).toBe(17);
|
|
98
151
|
expect(result.text).toBe('heute Morgen');
|
|
99
152
|
|
|
@@ -103,11 +156,18 @@ test("Test - Single Expression", function() {
|
|
|
103
156
|
expect(result.start.get('day')).toBe(10);
|
|
104
157
|
expect(result.start.get('hour')).toBe(6);
|
|
105
158
|
|
|
106
|
-
|
|
107
|
-
|
|
159
|
+
var resultDate = result.start.date();
|
|
160
|
+
var expectDate = new Date(2012, 7, 10, 6);
|
|
161
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
162
|
+
}
|
|
108
163
|
|
|
109
164
|
|
|
110
|
-
|
|
165
|
+
var text = "Die Deadline war heute Nachmittag ";
|
|
166
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
167
|
+
expect(results.length).toBe(1);
|
|
168
|
+
|
|
169
|
+
var result = results[0];
|
|
170
|
+
if(result){
|
|
111
171
|
expect(result.index).toBe(17);
|
|
112
172
|
expect(result.text).toBe('heute Nachmittag');
|
|
113
173
|
|
|
@@ -117,11 +177,18 @@ test("Test - Single Expression", function() {
|
|
|
117
177
|
expect(result.start.get('day')).toBe(10);
|
|
118
178
|
expect(result.start.get('hour')).toBe(15);
|
|
119
179
|
|
|
120
|
-
|
|
121
|
-
|
|
180
|
+
var resultDate = result.start.date();
|
|
181
|
+
var expectDate = new Date(2012, 7, 10, 15);
|
|
182
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
183
|
+
}
|
|
184
|
+
|
|
122
185
|
|
|
186
|
+
var text = "Die Deadline war heute Abend ";
|
|
187
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
188
|
+
expect(results.length).toBe(1);
|
|
123
189
|
|
|
124
|
-
|
|
190
|
+
var result = results[0];
|
|
191
|
+
if(result){
|
|
125
192
|
expect(result.index).toBe(17);
|
|
126
193
|
expect(result.text).toBe('heute Abend');
|
|
127
194
|
|
|
@@ -131,15 +198,22 @@ test("Test - Single Expression", function() {
|
|
|
131
198
|
expect(result.start.get('day')).toBe(10);
|
|
132
199
|
expect(result.start.get('hour')).toBe(18);
|
|
133
200
|
|
|
134
|
-
|
|
135
|
-
|
|
201
|
+
var resultDate = result.start.date();
|
|
202
|
+
var expectDate = new Date(2012, 7, 10, 18);
|
|
203
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
204
|
+
}
|
|
136
205
|
});
|
|
137
206
|
|
|
138
207
|
|
|
139
208
|
test("Test - Combined Expression", function() {
|
|
140
209
|
|
|
141
210
|
|
|
142
|
-
|
|
211
|
+
var text = "Die Deadline ist heute 17 Uhr";
|
|
212
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
213
|
+
expect(results.length).toBe(1);
|
|
214
|
+
|
|
215
|
+
var result = results[0];
|
|
216
|
+
if(result){
|
|
143
217
|
expect(result.index).toBe(17);
|
|
144
218
|
expect(result.text).toBe('heute 17 Uhr');
|
|
145
219
|
|
|
@@ -149,10 +223,17 @@ test("Test - Combined Expression", function() {
|
|
|
149
223
|
expect(result.start.get('day')).toBe(10);
|
|
150
224
|
expect(result.start.get('hour')).toBe(17);
|
|
151
225
|
|
|
152
|
-
|
|
153
|
-
|
|
226
|
+
var resultDate = result.start.date();
|
|
227
|
+
var expectDate = new Date(2012, 7, 10, 17);
|
|
228
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
var text = "Die Deadline ist heute um 17 Uhr";
|
|
232
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
233
|
+
expect(results.length).toBe(1);
|
|
154
234
|
|
|
155
|
-
|
|
235
|
+
var result = results[0];
|
|
236
|
+
if(result){
|
|
156
237
|
expect(result.index).toBe(17);
|
|
157
238
|
expect(result.text).toBe('heute um 17 Uhr');
|
|
158
239
|
|
|
@@ -162,14 +243,21 @@ test("Test - Combined Expression", function() {
|
|
|
162
243
|
expect(result.start.get('day')).toBe(10);
|
|
163
244
|
expect(result.start.get('hour')).toBe(17);
|
|
164
245
|
|
|
165
|
-
|
|
166
|
-
|
|
246
|
+
var resultDate = result.start.date();
|
|
247
|
+
var expectDate = new Date(2012, 7, 10, 17);
|
|
248
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
249
|
+
}
|
|
167
250
|
});
|
|
168
251
|
|
|
169
252
|
|
|
170
253
|
test("Test - Casual date range", function() {
|
|
171
254
|
|
|
172
|
-
|
|
255
|
+
var text = "Der Event ist heute - nächsten Freitag";
|
|
256
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 4, 12));
|
|
257
|
+
expect(results.length).toBe(1);
|
|
258
|
+
|
|
259
|
+
var result = results[0];
|
|
260
|
+
if(result){
|
|
173
261
|
expect(result.index).toBe(14);
|
|
174
262
|
expect(result.text).toBe('heute - nächsten Freitag');
|
|
175
263
|
|
|
@@ -179,7 +267,9 @@ test("Test - Casual date range", function() {
|
|
|
179
267
|
expect(result.start.get('day')).toBe(4);
|
|
180
268
|
expect(result.start.get('hour')).toBe(12);
|
|
181
269
|
|
|
182
|
-
|
|
270
|
+
var resultDate = result.start.date();
|
|
271
|
+
var expectDate = new Date(2012, 7, 4, 12);
|
|
272
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
183
273
|
|
|
184
274
|
|
|
185
275
|
expect(result.end).not.toBeNull();
|
|
@@ -188,12 +278,19 @@ test("Test - Casual date range", function() {
|
|
|
188
278
|
expect(result.end.get('day')).toBe(10);
|
|
189
279
|
expect(result.end.get('hour')).toBe(12);
|
|
190
280
|
|
|
191
|
-
|
|
192
|
-
|
|
281
|
+
var resultDate = result.end.date();
|
|
282
|
+
var expectDate = new Date(2012, 7, 10, 12);
|
|
283
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
284
|
+
}
|
|
193
285
|
|
|
194
286
|
|
|
195
287
|
|
|
196
|
-
|
|
288
|
+
var text = "Der Event ist heute - nächsten Freitag";
|
|
289
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 10, 12));
|
|
290
|
+
expect(results.length).toBe(1);
|
|
291
|
+
|
|
292
|
+
var result = results[0];
|
|
293
|
+
if(result){
|
|
197
294
|
expect(result.index).toBe(14);
|
|
198
295
|
expect(result.text).toBe('heute - nächsten Freitag');
|
|
199
296
|
|
|
@@ -203,7 +300,9 @@ test("Test - Casual date range", function() {
|
|
|
203
300
|
expect(result.start.get('day')).toBe(10);
|
|
204
301
|
expect(result.start.get('hour')).toBe(12);
|
|
205
302
|
|
|
206
|
-
|
|
303
|
+
var resultDate = result.start.date();
|
|
304
|
+
var expectDate = new Date(2012, 7, 10, 12);
|
|
305
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
207
306
|
|
|
208
307
|
|
|
209
308
|
expect(result.end).not.toBeNull();
|
|
@@ -212,8 +311,10 @@ test("Test - Casual date range", function() {
|
|
|
212
311
|
expect(result.end.get('day')).toBe(17);
|
|
213
312
|
expect(result.end.get('hour')).toBe(12);
|
|
214
313
|
|
|
215
|
-
|
|
216
|
-
|
|
314
|
+
var resultDate = result.end.date();
|
|
315
|
+
var expectDate = new Date(2012, 7, 17, 12);
|
|
316
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
317
|
+
}
|
|
217
318
|
});
|
|
218
319
|
|
|
219
320
|
|
|
@@ -222,110 +323,110 @@ test("Test - Casual date range", function() {
|
|
|
222
323
|
|
|
223
324
|
test('Test - Random text', function() {
|
|
224
325
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
});
|
|
306
|
-
|
|
307
|
-
testSingleCase(chrono.de, 'vorgestern Vormittag', new Date(2016, 10-1, 1), (result, text) => {
|
|
308
|
-
|
|
309
|
-
expect(result.text).toBe(text);
|
|
310
|
-
expect(result.start.get('year')).toBe(2016);
|
|
311
|
-
expect(result.start.get('month')).toBe(9);
|
|
312
|
-
expect(result.start.get('day')).toBe(29);
|
|
313
|
-
expect(result.start.get('hour')).toBe(9);
|
|
314
|
-
});
|
|
326
|
+
var text = "heute Nacht";
|
|
327
|
+
var result = chrono.de.parse(text, new Date(2012, 1-1, 1, 12))[0];
|
|
328
|
+
expect(result.text).toBe(text);
|
|
329
|
+
expect(result.start.get('year')).toBe(2012);
|
|
330
|
+
expect(result.start.get('month')).toBe(1);
|
|
331
|
+
expect(result.start.get('day')).toBe(1);
|
|
332
|
+
expect(result.start.get('hour')).toBe(22);
|
|
333
|
+
expect(result.start.get('meridiem') ).toBe(1);
|
|
334
|
+
|
|
335
|
+
var text = "heute Nacht um 20 Uhr";
|
|
336
|
+
var result = chrono.de.parse(text, new Date(2012, 1-1, 1, 12))[0];
|
|
337
|
+
expect(result.text).toBe(text);
|
|
338
|
+
expect(result.start.get('hour') ).toBe(20);
|
|
339
|
+
expect(result.start.get('year') ).toBe(2012);
|
|
340
|
+
expect(result.start.get('month')).toBe(1);
|
|
341
|
+
expect(result.start.get('day') ).toBe(1);
|
|
342
|
+
expect(result.start.get('meridiem') ).toBe(1);
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
var text = "heute Abend um 8";
|
|
346
|
+
var result = chrono.de.parse(text, new Date(2012, 1-1, 1, 12))[0];
|
|
347
|
+
expect(result.text).toBe(text);
|
|
348
|
+
expect(result.start.get('hour') ).toBe(20);
|
|
349
|
+
expect(result.start.get('year') ).toBe(2012);
|
|
350
|
+
expect(result.start.get('month')).toBe(1);
|
|
351
|
+
expect(result.start.get('day') ).toBe(1);
|
|
352
|
+
expect(result.start.get('meridiem') ).toBe(1);
|
|
353
|
+
|
|
354
|
+
var text = "8 Uhr abends";
|
|
355
|
+
var result = chrono.de.parse(text, new Date(2012, 1-1, 1, 12))[0];
|
|
356
|
+
expect(result.text).toBe(text);
|
|
357
|
+
expect(result.start.get('hour') ).toBe(20);
|
|
358
|
+
expect(result.start.get('year') ).toBe(2012);
|
|
359
|
+
expect(result.start.get('month')).toBe(1);
|
|
360
|
+
expect(result.start.get('day') ).toBe(1);
|
|
361
|
+
expect(result.start.get('meridiem') ).toBe(1);
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
var text = "Do";
|
|
365
|
+
var result = chrono.de.parse(text)[0];
|
|
366
|
+
expect(result.text).toBe(text);
|
|
367
|
+
expect(result.start.get('weekday')).toBe(4);
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
var text = "Donnerstag";
|
|
371
|
+
var result = chrono.de.parse(text)[0];
|
|
372
|
+
expect(result.text).toBe(text);
|
|
373
|
+
expect(result.start.get('weekday')).toBe(4);
|
|
374
|
+
|
|
375
|
+
var text = "gestern Nachmittag";
|
|
376
|
+
var result = chrono.de.parse(text, new Date(2016, 10-1, 1))[0];
|
|
377
|
+
expect(result.text).toBe(text);
|
|
378
|
+
expect(result.start.get('year')).toBe(2016);
|
|
379
|
+
expect(result.start.get('month')).toBe(9);
|
|
380
|
+
expect(result.start.get('day')).toBe(30);
|
|
381
|
+
expect(result.start.get('hour')).toBe(15);
|
|
382
|
+
|
|
383
|
+
var text = "morgen Morgen";
|
|
384
|
+
var result = chrono.de.parse(text, new Date(2016, 10-1, 1, 8))[0];
|
|
385
|
+
expect(result.text).toBe(text);
|
|
386
|
+
expect(result.start.get('year')).toBe(2016);
|
|
387
|
+
expect(result.start.get('month')).toBe(10);
|
|
388
|
+
expect(result.start.get('day')).toBe(2);
|
|
389
|
+
expect(result.start.get('hour')).toBe(6);
|
|
390
|
+
|
|
391
|
+
var text = "uebermorgen Abend";
|
|
392
|
+
var result = chrono.de.parse(text, new Date(2016, 10-1, 1, 8))[0];
|
|
393
|
+
expect(result.text).toBe(text);
|
|
394
|
+
expect(result.start.get('year')).toBe(2016);
|
|
395
|
+
expect(result.start.get('month')).toBe(10);
|
|
396
|
+
expect(result.start.get('day')).toBe(3);
|
|
397
|
+
expect(result.start.get('hour')).toBe(18);
|
|
398
|
+
|
|
399
|
+
var text = "vorgestern Vormittag";
|
|
400
|
+
var result = chrono.de.parse(text, new Date(2016, 10-1, 1))[0];
|
|
401
|
+
expect(result.text).toBe(text);
|
|
402
|
+
expect(result.start.get('year')).toBe(2016);
|
|
403
|
+
expect(result.start.get('month')).toBe(9);
|
|
404
|
+
expect(result.start.get('day')).toBe(29);
|
|
405
|
+
expect(result.start.get('hour')).toBe(9);
|
|
315
406
|
});
|
|
316
407
|
|
|
317
408
|
|
|
318
409
|
test('Test - Random negative text', function() {
|
|
319
410
|
|
|
320
|
-
|
|
411
|
+
var text = "nicheute";
|
|
412
|
+
var results = chrono.de.parse(text);
|
|
413
|
+
expect(results.length).toBe(0);
|
|
321
414
|
|
|
322
415
|
|
|
323
|
-
|
|
416
|
+
var text = "heutenicht";
|
|
417
|
+
var results = chrono.de.parse(text);
|
|
418
|
+
expect(results.length).toBe(0);
|
|
324
419
|
|
|
325
|
-
|
|
420
|
+
var text = "angestern";
|
|
421
|
+
var results = chrono.de.parse(text);
|
|
422
|
+
expect(results.length).toBe(0);
|
|
326
423
|
|
|
327
|
-
|
|
424
|
+
var text = "jetztig";
|
|
425
|
+
var results = chrono.de.parse(text);
|
|
426
|
+
expect(results.length).toBe(0);
|
|
328
427
|
|
|
329
|
-
|
|
428
|
+
var text = "ljetztlich";
|
|
429
|
+
var results = chrono.de.parse(text);
|
|
430
|
+
expect(results.length).toBe(0)
|
|
330
431
|
|
|
331
432
|
});
|
package/test/de/de_dash.test.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
testSingleCase(chrono.strict, 'Freitag 30.12.16', (result) => {
|
|
7
|
-
expect(result.text).toBe('Freitag 30.12.16')
|
|
8
|
-
});
|
|
1
|
+
var chrono = require('../../src/chrono');
|
|
2
|
+
test("Test - Should handle de dayname dd-mm-yy", function() {
|
|
3
|
+
var text = "Freitag 30.12.16";
|
|
4
|
+
var results = chrono.strict.parse(text, new Date(2012,7,10));
|
|
5
|
+
expect(results.length).toBe(1)
|
|
9
6
|
});
|