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/nl/nl_dash.test.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { testSingleCase } from '../test_util';
|
|
1
|
+
import {testSingleCase} from "../test_util";
|
|
3
2
|
|
|
3
|
+
var chrono = require('../../src/chrono');
|
|
4
4
|
test("Test - Should return false with euro style phone number", function() {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
var text = "80-32-89-89";
|
|
6
|
+
var results = chrono.nl.parse(text, new Date(2020,4,21));
|
|
7
|
+
expect(results.length).toBe(0)
|
|
8
8
|
});
|
|
9
9
|
|
|
10
10
|
test("Test - Should handle en dayname dd-mm-yy", function() {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
testSingleCase(chrono.nl, '30-12-16\n', new Date(2012, 7, 9), (result) => {
|
|
12
|
+
expect(result.index).toBe(0);
|
|
13
|
+
expect(result.text).toBe('30-12-16');
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
expect(result.start).not.toBeNull();
|
|
16
|
+
expect(result.start.get('year')).toBe(2016);
|
|
17
|
+
expect(result.start.get('month')).toBe(12);
|
|
18
|
+
expect(result.start.get('day')).toBe(30);
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
expect(result.start.isCertain('day')).toBe(true);
|
|
22
|
+
expect(result.start.isCertain('month')).toBe(true);
|
|
23
|
+
expect(result.start.isCertain('year')).toBe(true);
|
|
24
|
+
});
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
test("Test - Should handle en dd-mm-yy", function() {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
var text = "30-12-16";
|
|
29
|
+
var results = chrono.nl.parse(text, new Date(2020,4,21));
|
|
30
|
+
expect(results.length).toBe(1)
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
test("Test - Should handle en dd-mm-yyyy", function() {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
var text = 'Datum: 02/01/2020\n' +
|
|
35
|
+
' Datum: 03/01/2020 Datum: 04/01/2020';
|
|
36
|
+
var results = chrono.parse(text, new Date(2020,4,21));
|
|
37
|
+
expect(results.length).toBe(3);
|
|
38
|
+
expect(results[0].start).not.toBeNull();
|
|
39
|
+
expect(results[0].index).toBe(7);
|
|
40
|
+
expect(results[0].text).toBe('02/01/2020\n');
|
|
41
41
|
});
|
|
@@ -3,7 +3,7 @@ import { testSingleCase } from '../test_util';
|
|
|
3
3
|
|
|
4
4
|
test("Test - Single expression", function() {
|
|
5
5
|
|
|
6
|
-
testSingleCase(chrono
|
|
6
|
+
testSingleCase(chrono, '10 augustus 2012\n', new Date(2012,7,10), (result) => {
|
|
7
7
|
expect(result.start).not.toBeNull();
|
|
8
8
|
expect(result.start.get('year')).toBe(2012);
|
|
9
9
|
expect(result.start.get('month')).toBe(8);
|
|
@@ -12,10 +12,12 @@ test("Test - Single expression", function() {
|
|
|
12
12
|
expect(result.index).toBe(0);
|
|
13
13
|
expect(result.text).toBe('10 augustus 2012');
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
var resultDate = result.start.date();
|
|
16
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
17
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
16
18
|
});
|
|
17
19
|
|
|
18
|
-
testSingleCase(chrono
|
|
20
|
+
testSingleCase(chrono, '3 februari 82', new Date(2012,7,10), (result) => {
|
|
19
21
|
expect(result.start).not.toBeNull();
|
|
20
22
|
expect(result.start.get('year')).toBe(1982);
|
|
21
23
|
expect(result.start.get('month')).toBe(2);
|
|
@@ -27,7 +29,7 @@ test("Test - Single expression", function() {
|
|
|
27
29
|
expect(result.start).toBeDate(new Date(1982, 2-1, 3, 12));
|
|
28
30
|
});
|
|
29
31
|
|
|
30
|
-
testSingleCase(chrono
|
|
32
|
+
testSingleCase(chrono, '10 augustus 2555 BE', new Date(2012,7,10), (result) => {
|
|
31
33
|
expect(result.index).toBe(0);
|
|
32
34
|
expect(result.text).toBe('10 augustus 2555 BE');
|
|
33
35
|
|
|
@@ -36,10 +38,12 @@ test("Test - Single expression", function() {
|
|
|
36
38
|
expect(result.start.get('month')).toBe(8);
|
|
37
39
|
expect(result.start.get('day')).toBe(10);
|
|
38
40
|
|
|
39
|
-
|
|
41
|
+
var resultDate = result.start.date();
|
|
42
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
43
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
40
44
|
});
|
|
41
45
|
|
|
42
|
-
testSingleCase(chrono
|
|
46
|
+
testSingleCase(chrono, '10 augustus 234 v.Chr.', new Date(2012,7,10), (result) => {
|
|
43
47
|
expect(result.index).toBe(0);
|
|
44
48
|
expect(result.text).toBe('10 augustus 234 v.Chr.');
|
|
45
49
|
|
|
@@ -48,10 +52,12 @@ test("Test - Single expression", function() {
|
|
|
48
52
|
expect(result.start.get('month')).toBe(8);
|
|
49
53
|
expect(result.start.get('day')).toBe(10);
|
|
50
54
|
|
|
51
|
-
|
|
55
|
+
var resultDate = result.start.date();
|
|
56
|
+
var expectDate = new Date(-234, 8-1, 10, 12);
|
|
57
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
52
58
|
});
|
|
53
59
|
|
|
54
|
-
testSingleCase(chrono
|
|
60
|
+
testSingleCase(chrono, '10 augustus 88 n.Chr.', new Date(2012,7,10), (result) => {
|
|
55
61
|
expect(result.index).toBe(0);
|
|
56
62
|
expect(result.text).toBe('10 augustus 88 n.Chr.');
|
|
57
63
|
|
|
@@ -66,7 +72,7 @@ test("Test - Single expression", function() {
|
|
|
66
72
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
67
73
|
});
|
|
68
74
|
|
|
69
|
-
testSingleCase(chrono
|
|
75
|
+
testSingleCase(chrono, 'Sun 15Sep', new Date(2013,7,10), (result) => {
|
|
70
76
|
expect(result.index).toBe(0);
|
|
71
77
|
expect(result.text).toBe('Sun 15Sep');
|
|
72
78
|
|
|
@@ -75,10 +81,12 @@ test("Test - Single expression", function() {
|
|
|
75
81
|
expect(result.start.get('month')).toBe(9);
|
|
76
82
|
expect(result.start.get('day')).toBe(15);
|
|
77
83
|
|
|
78
|
-
|
|
84
|
+
var resultDate = result.start.date();
|
|
85
|
+
var expectDate = new Date(2013, 9-1, 15, 12);
|
|
86
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
79
87
|
});
|
|
80
88
|
|
|
81
|
-
testSingleCase(chrono
|
|
89
|
+
testSingleCase(chrono, 'zondag 15 sept', new Date(2013,7,10), (result) => {
|
|
82
90
|
expect(result.index).toBe(0);
|
|
83
91
|
expect(result.text).toBe('zondag 15 sept');
|
|
84
92
|
|
|
@@ -87,10 +95,12 @@ test("Test - Single expression", function() {
|
|
|
87
95
|
expect(result.start.get('month')).toBe(9);
|
|
88
96
|
expect(result.start.get('day')).toBe(15);
|
|
89
97
|
|
|
90
|
-
|
|
98
|
+
var resultDate = result.start.date();
|
|
99
|
+
var expectDate = new Date(2013, 9-1, 15, 12);
|
|
100
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
91
101
|
});
|
|
92
102
|
|
|
93
|
-
testSingleCase(chrono
|
|
103
|
+
testSingleCase(chrono, 'De deadline is 10 augustus', new Date(2012,7,10), (result) => {
|
|
94
104
|
|
|
95
105
|
expect(result.index).toBe(15);
|
|
96
106
|
expect(result.text).toBe('10 augustus');
|
|
@@ -100,11 +110,13 @@ test("Test - Single expression", function() {
|
|
|
100
110
|
expect(result.start.get('month')).toBe(8);
|
|
101
111
|
expect(result.start.get('day')).toBe(10);
|
|
102
112
|
|
|
103
|
-
|
|
113
|
+
var resultDate = result.start.date();
|
|
114
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
115
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
104
116
|
});
|
|
105
117
|
|
|
106
118
|
|
|
107
|
-
testSingleCase(chrono
|
|
119
|
+
testSingleCase(chrono, 'De deadline is dinsdag 10 januari', new Date(2012,7,10), (result) => {
|
|
108
120
|
|
|
109
121
|
expect(result.index).toBe(15);
|
|
110
122
|
expect(result.text).toBe('dinsdag 10 januari');
|
|
@@ -115,11 +127,13 @@ test("Test - Single expression", function() {
|
|
|
115
127
|
expect(result.start.get('day')).toBe(10);
|
|
116
128
|
expect(result.start.get('weekday')).toBe(2);
|
|
117
129
|
|
|
118
|
-
|
|
130
|
+
var resultDate = result.start.date();
|
|
131
|
+
var expectDate = new Date(2013, 1-1, 10, 12);
|
|
132
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
119
133
|
});
|
|
120
134
|
|
|
121
135
|
|
|
122
|
-
testSingleCase(chrono
|
|
136
|
+
testSingleCase(chrono, 'De deadline is di, 10 januari', new Date(2012,7,10), (result) => {
|
|
123
137
|
|
|
124
138
|
expect(result.index).toBe(15);
|
|
125
139
|
expect(result.text).toBe('di, 10 januari');
|
|
@@ -130,11 +144,13 @@ test("Test - Single expression", function() {
|
|
|
130
144
|
expect(result.start.get('day')).toBe(10);
|
|
131
145
|
expect(result.start.get('weekday')).toBe(2);
|
|
132
146
|
|
|
133
|
-
|
|
147
|
+
var resultDate = result.start.date();
|
|
148
|
+
var expectDate = new Date(2013, 1-1, 10, 12);
|
|
149
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
134
150
|
});
|
|
135
151
|
|
|
136
152
|
|
|
137
|
-
testSingleCase(chrono
|
|
153
|
+
testSingleCase(chrono, 'Op 31 maart, 2016', new Date(2012,7,10), (result) => {
|
|
138
154
|
|
|
139
155
|
expect(result.index).toBe(0);
|
|
140
156
|
expect(result.text).toBe('Op 31 maart, 2016');
|
|
@@ -144,11 +160,13 @@ test("Test - Single expression", function() {
|
|
|
144
160
|
expect(result.start.get('month')).toBe(3);
|
|
145
161
|
expect(result.start.get('day')).toBe(31);
|
|
146
162
|
|
|
147
|
-
|
|
163
|
+
var resultDate = result.start.date();
|
|
164
|
+
var expectDate = new Date(2016, 3-1, 31, 12);
|
|
165
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
148
166
|
});
|
|
149
167
|
|
|
150
168
|
|
|
151
|
-
testSingleCase(chrono
|
|
169
|
+
testSingleCase(chrono, '23 februari 2016', new Date(2012,7,10), (result) => {
|
|
152
170
|
|
|
153
171
|
expect(result.index).toBe(0);
|
|
154
172
|
expect(result.text).toBe('23 februari 2016');
|
|
@@ -158,36 +176,45 @@ test("Test - Single expression", function() {
|
|
|
158
176
|
expect(result.start.get('month')).toBe(2);
|
|
159
177
|
expect(result.start.get('day')).toBe(23);
|
|
160
178
|
|
|
161
|
-
|
|
179
|
+
var resultDate = result.start.date();
|
|
180
|
+
var expectDate = new Date(2016, 2-1, 23, 12);
|
|
181
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
162
182
|
});
|
|
163
183
|
});
|
|
164
184
|
|
|
165
185
|
test("Test - Single expression with separators", function() {
|
|
166
186
|
|
|
167
|
-
|
|
187
|
+
var text = "10-augustus 2012";
|
|
188
|
+
var expectDate = new Date(2012, 8-1, 10, 12, 0);
|
|
189
|
+
var result = chrono.parse(text, new Date(2012,7, 8))[0];
|
|
190
|
+
console.log('result',result)
|
|
191
|
+
expect(result.text).toBe('10-augustus 2012');
|
|
192
|
+
expect(expectDate.getTime()).toBeCloseTo(result.start.date().getTime());
|
|
168
193
|
|
|
169
|
-
expect(result.start).toBeDate(new Date(2012, 8-1, 10, 12, 0))
|
|
170
|
-
});
|
|
171
|
-
|
|
172
|
-
testSingleCase(chrono.nl, '10-aug-2012', (result) => {
|
|
173
194
|
|
|
174
|
-
|
|
175
|
-
|
|
195
|
+
var text = "10-aug-2012";
|
|
196
|
+
var expectDate = new Date(2012, 8-1, 10, 12, 0);
|
|
197
|
+
var result = chrono.parse(text, new Date(2012,7, 8))[0];
|
|
198
|
+
expect(result.text).toBe('10-aug-2012');
|
|
199
|
+
expect(expectDate.getTime()).toBeCloseTo(result.start.date().getTime());
|
|
176
200
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
201
|
+
var text = "10/augustus 2012";
|
|
202
|
+
var expectDate = new Date(2012, 8-1, 10, 12, 0);
|
|
203
|
+
var result = chrono.parse(text, new Date(2012,7, 8))[0];
|
|
204
|
+
expect(result.text).toBe('10/augustus 2012');
|
|
205
|
+
expect(expectDate.getTime()).toBeCloseTo(result.start.date().getTime());
|
|
181
206
|
|
|
182
|
-
testSingleCase(chrono.nl, '10/augustus/2012', (result) => {
|
|
183
207
|
|
|
184
|
-
|
|
185
|
-
|
|
208
|
+
var text = "10/aug/2012";
|
|
209
|
+
var expectDate = new Date(2012, 8-1, 10, 12, 0);
|
|
210
|
+
var result = chrono.parse(text, new Date(2012,7, 8))[0];
|
|
211
|
+
expect(result.text).toBe('10/aug/2012');
|
|
212
|
+
expect(expectDate.getTime()).toBeCloseTo(result.start.date().getTime());
|
|
186
213
|
});
|
|
187
214
|
|
|
188
215
|
test("Test - Range expression", function() {
|
|
189
216
|
|
|
190
|
-
testSingleCase(chrono
|
|
217
|
+
testSingleCase(chrono, '10 - 22 augustus 2012', new Date(2012,7,10), (result) => {
|
|
191
218
|
|
|
192
219
|
expect(result.index).toBe(0);
|
|
193
220
|
expect(result.text).toBe('10 - 22 augustus 2012');
|
|
@@ -197,7 +224,9 @@ test("Test - Range expression", function() {
|
|
|
197
224
|
expect(result.start.get('month')).toBe(8);
|
|
198
225
|
expect(result.start.get('day')).toBe(10);
|
|
199
226
|
|
|
200
|
-
|
|
227
|
+
var resultDate = result.start.date();
|
|
228
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
229
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
201
230
|
|
|
202
231
|
|
|
203
232
|
expect(result.end).not.toBeNull();
|
|
@@ -205,11 +234,13 @@ test("Test - Range expression", function() {
|
|
|
205
234
|
expect(result.end.get('month')).toBe(8);
|
|
206
235
|
expect(result.end.get('day')).toBe(22);
|
|
207
236
|
|
|
208
|
-
|
|
237
|
+
var resultDate = result.end.date();
|
|
238
|
+
var expectDate = new Date(2012, 8-1, 22, 12);
|
|
239
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
209
240
|
});
|
|
210
241
|
|
|
211
242
|
|
|
212
|
-
testSingleCase(chrono
|
|
243
|
+
testSingleCase(chrono, '10 tot 22 augustus 2012', new Date(2012,7,10), (result) => {
|
|
213
244
|
|
|
214
245
|
expect(result.index).toBe(0);
|
|
215
246
|
expect(result.text).toBe('10 tot 22 augustus 2012');
|
|
@@ -219,7 +250,9 @@ test("Test - Range expression", function() {
|
|
|
219
250
|
expect(result.start.get('month')).toBe(8);
|
|
220
251
|
expect(result.start.get('day')).toBe(10);
|
|
221
252
|
|
|
222
|
-
|
|
253
|
+
var resultDate = result.start.date();
|
|
254
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
255
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
223
256
|
|
|
224
257
|
|
|
225
258
|
expect(result.end).not.toBeNull();
|
|
@@ -227,10 +260,12 @@ test("Test - Range expression", function() {
|
|
|
227
260
|
expect(result.end.get('month')).toBe(8);
|
|
228
261
|
expect(result.end.get('day')).toBe(22);
|
|
229
262
|
|
|
230
|
-
|
|
263
|
+
var resultDate = result.end.date();
|
|
264
|
+
var expectDate = new Date(2012, 8-1, 22, 12);
|
|
265
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
231
266
|
});
|
|
232
267
|
|
|
233
|
-
testSingleCase(chrono
|
|
268
|
+
testSingleCase(chrono, '10 augustus - 12 september', new Date(2012,7,10), (result) => {
|
|
234
269
|
|
|
235
270
|
expect(result.index).toBe(0);
|
|
236
271
|
expect(result.text).toBe('10 augustus - 12 september');
|
|
@@ -240,7 +275,9 @@ test("Test - Range expression", function() {
|
|
|
240
275
|
expect(result.start.get('month')).toBe(8);
|
|
241
276
|
expect(result.start.get('day')).toBe(10);
|
|
242
277
|
|
|
243
|
-
|
|
278
|
+
var resultDate = result.start.date();
|
|
279
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
280
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
244
281
|
|
|
245
282
|
|
|
246
283
|
expect(result.end).not.toBeNull();
|
|
@@ -248,10 +285,12 @@ test("Test - Range expression", function() {
|
|
|
248
285
|
expect(result.end.get('month')).toBe(9);
|
|
249
286
|
expect(result.end.get('day')).toBe(12);
|
|
250
287
|
|
|
251
|
-
|
|
288
|
+
var resultDate = result.end.date();
|
|
289
|
+
var expectDate = new Date(2012, 9-1, 12, 12);
|
|
290
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
252
291
|
});
|
|
253
292
|
|
|
254
|
-
testSingleCase(chrono
|
|
293
|
+
testSingleCase(chrono, '10 augustus - 12 september 2013', new Date(2012,7,10), (result) => {
|
|
255
294
|
|
|
256
295
|
expect(result.index).toBe(0);
|
|
257
296
|
expect(result.text).toBe('10 augustus - 12 september 2013');
|
|
@@ -261,7 +300,9 @@ test("Test - Range expression", function() {
|
|
|
261
300
|
expect(result.start.get('month')).toBe(8);
|
|
262
301
|
expect(result.start.get('day')).toBe(10);
|
|
263
302
|
|
|
264
|
-
|
|
303
|
+
var resultDate = result.start.date();
|
|
304
|
+
var expectDate = new Date(2013, 8-1, 10, 12);
|
|
305
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
265
306
|
|
|
266
307
|
|
|
267
308
|
expect(result.end).not.toBeNull();
|
|
@@ -269,7 +310,9 @@ test("Test - Range expression", function() {
|
|
|
269
310
|
expect(result.end.get('month')).toBe(9);
|
|
270
311
|
expect(result.end.get('day')).toBe(12);
|
|
271
312
|
|
|
272
|
-
|
|
313
|
+
var resultDate = result.end.date();
|
|
314
|
+
var expectDate = new Date(2013, 9-1, 12, 12);
|
|
315
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
273
316
|
});
|
|
274
317
|
});
|
|
275
318
|
|
|
@@ -286,7 +329,9 @@ test("Test - Combined expression", function() {
|
|
|
286
329
|
expect(result.start.get('day')).toBe(12);
|
|
287
330
|
|
|
288
331
|
|
|
289
|
-
|
|
332
|
+
var resultDate = result.start.date();
|
|
333
|
+
var expectDate = new Date(2012, 7-1, 12, 19, 0);
|
|
334
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
290
335
|
});
|
|
291
336
|
|
|
292
337
|
|
|
@@ -300,7 +345,9 @@ test("Test - Combined expression", function() {
|
|
|
300
345
|
expect(result.start.get('day')).toBe(5);
|
|
301
346
|
|
|
302
347
|
|
|
303
|
-
|
|
348
|
+
var resultDate = result.start.date();
|
|
349
|
+
var expectDate = new Date(2012, 5-1, 5, 12, 0);
|
|
350
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
304
351
|
});
|
|
305
352
|
|
|
306
353
|
|
|
@@ -314,7 +361,9 @@ test("Test - Combined expression", function() {
|
|
|
314
361
|
expect(result.start.get('day')).toBe(7);
|
|
315
362
|
expect(result.start.get('hour')).toBe(11);
|
|
316
363
|
|
|
317
|
-
|
|
364
|
+
var resultDate = result.start.date();
|
|
365
|
+
var expectDate = new Date(2012, 5-1, 7, 11, 0);
|
|
366
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
318
367
|
});
|
|
319
368
|
});
|
|
320
369
|
|
|
@@ -1,10 +1,14 @@
|
|
|
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
5
|
|
|
7
|
-
|
|
6
|
+
var text = "18:10";
|
|
7
|
+
var results = chrono.nl.parse(text, new Date(2012,7,10));
|
|
8
|
+
expect(results.length).toBe(1)
|
|
9
|
+
|
|
10
|
+
var result = results[0];
|
|
11
|
+
if(result){
|
|
8
12
|
expect(result.index).toBe(0)
|
|
9
13
|
expect(result.text).toBe('18:10')
|
|
10
14
|
|
|
@@ -21,14 +25,21 @@ test("Test - Single Expression", function() {
|
|
|
21
25
|
expect(result.start.isCertain('second')).toBe(false)
|
|
22
26
|
expect(result.start.isCertain('millisecond')).toBe(false)
|
|
23
27
|
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
var resultDate = result.start.date();
|
|
29
|
+
var expectDate = new Date(2012, 7, 10, 18, 10);
|
|
30
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
31
|
+
}
|
|
26
32
|
|
|
27
33
|
});
|
|
28
34
|
|
|
29
35
|
test("Test - Range Expression", function() {
|
|
30
36
|
|
|
31
|
-
|
|
37
|
+
var text = "18:10 - 22.32";
|
|
38
|
+
var results = chrono.nl.parse(text, new Date(2012,7,10));
|
|
39
|
+
expect(results.length).toBe(1)
|
|
40
|
+
|
|
41
|
+
var result = results[0];
|
|
42
|
+
if(result){
|
|
32
43
|
expect(result.index).toBe(0)
|
|
33
44
|
expect(result.text).toBe('18:10 - 22.32')
|
|
34
45
|
|
|
@@ -44,7 +55,9 @@ test("Test - Range Expression", function() {
|
|
|
44
55
|
expect(result.start.isCertain('second')).toBe(false)
|
|
45
56
|
expect(result.start.isCertain('millisecond')).toBe(false)
|
|
46
57
|
|
|
47
|
-
|
|
58
|
+
var resultDate = result.start.date();
|
|
59
|
+
var expectDate = new Date(2012, 7, 10, 18, 10);
|
|
60
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
48
61
|
|
|
49
62
|
expect(result.end).not.toBeNull()
|
|
50
63
|
expect(result.end.get('hour')).toBe(22)
|
|
@@ -58,10 +71,17 @@ test("Test - Range Expression", function() {
|
|
|
58
71
|
expect(result.end.isCertain('second')).toBe(false)
|
|
59
72
|
expect(result.end.isCertain('millisecond')).toBe(false)
|
|
60
73
|
|
|
61
|
-
|
|
62
|
-
|
|
74
|
+
var resultDate = result.end.date();
|
|
75
|
+
var expectDate = new Date(2012, 7, 10, 22, 32);
|
|
76
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
var text = " van 6:30 tot 23:00 ";
|
|
80
|
+
var results = chrono.nl.parse(text, new Date(2012,7,10));
|
|
81
|
+
expect(results.length).toBe(1);
|
|
63
82
|
|
|
64
|
-
|
|
83
|
+
var result = results[0];
|
|
84
|
+
if(result){
|
|
65
85
|
expect(result.index).toBe(1);
|
|
66
86
|
expect(result.text).toBe('van 6:30 tot 23:00');
|
|
67
87
|
|
|
@@ -70,15 +90,19 @@ test("Test - Range Expression", function() {
|
|
|
70
90
|
expect(result.start.get('minute')).toBe(30);
|
|
71
91
|
expect(result.start.get('meridiem')).toBe(0);
|
|
72
92
|
|
|
73
|
-
|
|
93
|
+
var resultDate = result.start.date();
|
|
94
|
+
var expectDate = new Date(2012, 7, 10, 6, 30);
|
|
95
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
74
96
|
|
|
75
97
|
expect(result.end).not.toBeNull();
|
|
76
98
|
expect(result.end.get('hour')).toBe(23);
|
|
77
99
|
expect(result.end.get('minute')).toBe(0);
|
|
78
100
|
expect(result.end.get('meridiem')).toBe(1);
|
|
79
101
|
|
|
80
|
-
|
|
81
|
-
|
|
102
|
+
var resultDate = result.end.date();
|
|
103
|
+
var expectDate = new Date(2012, 7, 10, 23, 0);
|
|
104
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
105
|
+
}
|
|
82
106
|
|
|
83
107
|
});
|
|
84
108
|
|
|
@@ -19,7 +19,9 @@ test("Test - Single Expression", function () {
|
|
|
19
19
|
expect(result.start.isCertain('year')).toBe(false);
|
|
20
20
|
expect(result.start.isCertain('weekday')).toBe(true);
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
var resultDate = result.start.date();
|
|
23
|
+
var expectDate = new Date(2012, 7, 6, 12);
|
|
24
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
23
25
|
});
|
|
24
26
|
|
|
25
27
|
testSingleCase(chrono.nl, 'Maandag (forward dates only)', new Date(2012, 7, 9), {forwardDate: true}, (result) => {
|
|
@@ -38,7 +40,9 @@ test("Test - Single Expression", function () {
|
|
|
38
40
|
expect(result.start.isCertain('year')).toBe(false);
|
|
39
41
|
expect(result.start.isCertain('weekday')).toBe(true);
|
|
40
42
|
|
|
41
|
-
|
|
43
|
+
var resultDate = result.start.date();
|
|
44
|
+
var expectDate = new Date(2012, 7, 13, 12);
|
|
45
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
42
46
|
});
|
|
43
47
|
|
|
44
48
|
testSingleCase(chrono.nl, 'Donderdag', new Date(2012, 7, 9), (result) => {
|
|
@@ -51,7 +55,9 @@ test("Test - Single Expression", function () {
|
|
|
51
55
|
expect(result.start.get('day')).toBe(9);
|
|
52
56
|
expect(result.start.get('weekday')).toBe(4);
|
|
53
57
|
|
|
54
|
-
|
|
58
|
+
var resultDate = result.start.date();
|
|
59
|
+
var expectDate = new Date(2012, 7, 9, 12);
|
|
60
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
55
61
|
});
|
|
56
62
|
|
|
57
63
|
testSingleCase(chrono.nl, 'Zondag', new Date(2012, 7, 9), (result) => {
|
|
@@ -64,7 +70,9 @@ test("Test - Single Expression", function () {
|
|
|
64
70
|
expect(result.start.get('day')).toBe(12);
|
|
65
71
|
expect(result.start.get('weekday')).toBe(0);
|
|
66
72
|
|
|
67
|
-
|
|
73
|
+
var resultDate = result.start.date();
|
|
74
|
+
var expectDate = new Date(2012, 7, 12, 12);
|
|
75
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
68
76
|
});
|
|
69
77
|
|
|
70
78
|
|
|
@@ -78,7 +86,9 @@ test("Test - Single Expression", function () {
|
|
|
78
86
|
expect(result.start.get('day')).toBe(3);
|
|
79
87
|
expect(result.start.get('weekday')).toBe(5);
|
|
80
88
|
|
|
81
|
-
|
|
89
|
+
var resultDate = result.start.date();
|
|
90
|
+
var expectDate = new Date(2012, 7, 3, 12);
|
|
91
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
82
92
|
});
|
|
83
93
|
|
|
84
94
|
testSingleCase(chrono.nl, 'The deadline is vorige vrijdag...', new Date(2012, 7, 9), (result) => {
|
|
@@ -91,7 +101,9 @@ test("Test - Single Expression", function () {
|
|
|
91
101
|
expect(result.start.get('day')).toBe(3);
|
|
92
102
|
expect(result.start.get('weekday')).toBe(5);
|
|
93
103
|
|
|
94
|
-
|
|
104
|
+
var resultDate = result.start.date();
|
|
105
|
+
var expectDate = new Date(2012, 7, 3, 12);
|
|
106
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
95
107
|
});
|
|
96
108
|
|
|
97
109
|
|
|
@@ -105,7 +117,9 @@ test("Test - Single Expression", function () {
|
|
|
105
117
|
expect(result.start.get('day')).toBe(24);
|
|
106
118
|
expect(result.start.get('weekday')).toBe(5);
|
|
107
119
|
|
|
108
|
-
|
|
120
|
+
var resultDate = result.start.date();
|
|
121
|
+
var expectDate = new Date(2015, 3, 24, 12);
|
|
122
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
109
123
|
});
|
|
110
124
|
|
|
111
125
|
|
|
@@ -119,7 +133,9 @@ test("Test - Single Expression", function () {
|
|
|
119
133
|
expect(result.start.get('day')).toBe(21);
|
|
120
134
|
expect(result.start.get('weekday')).toBe(2);
|
|
121
135
|
|
|
122
|
-
|
|
136
|
+
var resultDate = result.start.date();
|
|
137
|
+
var expectDate = new Date(2015, 3, 21, 12);
|
|
138
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
123
139
|
});
|
|
124
140
|
});
|
|
125
141
|
|
|
@@ -135,7 +151,9 @@ test("Test - Weekday With Casual Time", function () {
|
|
|
135
151
|
expect(result.start.get('weekday')).toBe(2);
|
|
136
152
|
expect(result.start.get('hour')).toBe(9);
|
|
137
153
|
|
|
138
|
-
|
|
154
|
+
var resultDate = result.start.date();
|
|
155
|
+
var expectDate = new Date(2015, 3, 21, 9);
|
|
156
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
139
157
|
});
|
|
140
158
|
});
|
|
141
159
|
|
|
@@ -157,7 +175,9 @@ test("Test - Weekday Overlap", function () {
|
|
|
157
175
|
expect(result.start.isCertain('year')).toBe(true);
|
|
158
176
|
expect(result.start.isCertain('weekday')).toBe(true);
|
|
159
177
|
|
|
160
|
-
|
|
178
|
+
var resultDate = result.start.date();
|
|
179
|
+
var expectDate = new Date(2014, 12 - 1, 7, 12);
|
|
180
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
161
181
|
});
|
|
162
182
|
|
|
163
183
|
|
|
@@ -177,7 +197,9 @@ test("Test - Weekday Overlap", function () {
|
|
|
177
197
|
expect(result.start.isCertain('year')).toBe(true);
|
|
178
198
|
expect(result.start.isCertain('weekday')).toBe(true);
|
|
179
199
|
|
|
180
|
-
|
|
200
|
+
var resultDate = result.start.date();
|
|
201
|
+
var expectDate = new Date(2014, 12 - 1, 7, 12);
|
|
202
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
181
203
|
});
|
|
182
204
|
});
|
|
183
205
|
|
|
@@ -199,7 +221,9 @@ test('Test - forward dates only option', function () {
|
|
|
199
221
|
expect(result.start.isCertain('year')).toBe(false);
|
|
200
222
|
expect(result.start.isCertain('weekday')).toBe(true);
|
|
201
223
|
|
|
202
|
-
|
|
224
|
+
var resultDate = result.start.date();
|
|
225
|
+
var expectDate = new Date(2016, 8-1, 5, 12);
|
|
226
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
203
227
|
|
|
204
228
|
|
|
205
229
|
expect(result.end).not.toBeNull();
|
|
@@ -213,6 +237,8 @@ test('Test - forward dates only option', function () {
|
|
|
213
237
|
expect(result.end.isCertain('year')).toBe(false);
|
|
214
238
|
expect(result.end.isCertain('weekday')).toBe(true);
|
|
215
239
|
|
|
216
|
-
|
|
240
|
+
var resultDate = result.end.date();
|
|
241
|
+
var expectDate = new Date(2016, 8-1, 8, 12);
|
|
242
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
217
243
|
});
|
|
218
244
|
});
|