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,12 @@
|
|
|
1
|
-
|
|
2
|
-
import { testSingleCase } from '../test_util';
|
|
3
|
-
|
|
1
|
+
var chrono = require('../../src/chrono');
|
|
4
2
|
test("Test - Single Expression", function () {
|
|
5
3
|
|
|
6
|
-
|
|
4
|
+
var text = "Montag";
|
|
5
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 9));
|
|
6
|
+
expect(results.length).toBe(1);
|
|
7
|
+
|
|
8
|
+
var result = results[0];
|
|
9
|
+
if (result) {
|
|
7
10
|
expect(result.index).toBe(0);
|
|
8
11
|
expect(result.text).toBe('Montag');
|
|
9
12
|
|
|
@@ -19,11 +22,18 @@ test("Test - Single Expression", function () {
|
|
|
19
22
|
expect(result.start.isCertain('year')).toBe(false);
|
|
20
23
|
expect(result.start.isCertain('weekday')).toBe(true);
|
|
21
24
|
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
var resultDate = result.start.date();
|
|
26
|
+
var expectDate = new Date(2012, 7, 6, 12);
|
|
27
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
28
|
+
}
|
|
29
|
+
|
|
24
30
|
|
|
31
|
+
var text = "am Donnerstag";
|
|
32
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 9));
|
|
33
|
+
expect(results.length).toBe(1);
|
|
25
34
|
|
|
26
|
-
|
|
35
|
+
var result = results[0];
|
|
36
|
+
if (result) {
|
|
27
37
|
expect(result.index).toBe(0);
|
|
28
38
|
expect(result.text).toBe('am Donnerstag');
|
|
29
39
|
|
|
@@ -33,10 +43,17 @@ test("Test - Single Expression", function () {
|
|
|
33
43
|
expect(result.start.get('day')).toBe(9);
|
|
34
44
|
expect(result.start.get('weekday')).toBe(4);
|
|
35
45
|
|
|
36
|
-
|
|
37
|
-
|
|
46
|
+
var resultDate = result.start.date();
|
|
47
|
+
var expectDate = new Date(2012, 7, 9, 12);
|
|
48
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
49
|
+
}
|
|
38
50
|
|
|
39
|
-
|
|
51
|
+
var text = "Sonntag";
|
|
52
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 9));
|
|
53
|
+
expect(results.length).toBe(1);
|
|
54
|
+
|
|
55
|
+
var result = results[0];
|
|
56
|
+
if (result) {
|
|
40
57
|
expect(result.index).toBe(0);
|
|
41
58
|
expect(result.text).toBe('Sonntag');
|
|
42
59
|
|
|
@@ -46,11 +63,18 @@ test("Test - Single Expression", function () {
|
|
|
46
63
|
expect(result.start.get('day')).toBe(12);
|
|
47
64
|
expect(result.start.get('weekday')).toBe(0);
|
|
48
65
|
|
|
49
|
-
|
|
50
|
-
|
|
66
|
+
var resultDate = result.start.date();
|
|
67
|
+
var expectDate = new Date(2012, 7, 12, 12);
|
|
68
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
69
|
+
}
|
|
70
|
+
|
|
51
71
|
|
|
72
|
+
var text = "Die Deadline war letzten Freitag...";
|
|
73
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 9));
|
|
74
|
+
expect(results.length).toBe(1);
|
|
52
75
|
|
|
53
|
-
|
|
76
|
+
var result = results[0];
|
|
77
|
+
if (result) {
|
|
54
78
|
expect(result.index).toBe(17);
|
|
55
79
|
expect(result.text).toBe('letzten Freitag');
|
|
56
80
|
|
|
@@ -60,11 +84,18 @@ test("Test - Single Expression", function () {
|
|
|
60
84
|
expect(result.start.get('day')).toBe(3);
|
|
61
85
|
expect(result.start.get('weekday')).toBe(5);
|
|
62
86
|
|
|
63
|
-
|
|
64
|
-
|
|
87
|
+
var resultDate = result.start.date();
|
|
88
|
+
var expectDate = new Date(2012, 7, 3, 12);
|
|
89
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
90
|
+
}
|
|
65
91
|
|
|
66
92
|
|
|
67
|
-
|
|
93
|
+
var text = "Treffen wir uns am Freitag nächste Woche";
|
|
94
|
+
var results = chrono.de.parse(text, new Date(2015, 3, 18));
|
|
95
|
+
expect(results.length).toBe(1);
|
|
96
|
+
|
|
97
|
+
var result = results[0];
|
|
98
|
+
if (result) {
|
|
68
99
|
expect(result.index).toBe(16);
|
|
69
100
|
expect(result.text).toBe('am Freitag nächste Woche');
|
|
70
101
|
|
|
@@ -74,11 +105,18 @@ test("Test - Single Expression", function () {
|
|
|
74
105
|
expect(result.start.get('day')).toBe(24);
|
|
75
106
|
expect(result.start.get('weekday')).toBe(5);
|
|
76
107
|
|
|
77
|
-
|
|
78
|
-
|
|
108
|
+
var resultDate = result.start.date();
|
|
109
|
+
var expectDate = new Date(2015, 3, 24, 12);
|
|
110
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
111
|
+
}
|
|
112
|
+
|
|
79
113
|
|
|
114
|
+
var text = "Ich habe vor, am Dienstag nächste Woche freizunehmen";
|
|
115
|
+
var results = chrono.de.parse(text, new Date(2015, 3, 18));
|
|
116
|
+
expect(results.length).toBe(1);
|
|
80
117
|
|
|
81
|
-
|
|
118
|
+
var result = results[0];
|
|
119
|
+
if (result) {
|
|
82
120
|
expect(result.index).toBe(14);
|
|
83
121
|
expect(result.text).toBe('am Dienstag nächste Woche');
|
|
84
122
|
|
|
@@ -88,14 +126,21 @@ test("Test - Single Expression", function () {
|
|
|
88
126
|
expect(result.start.get('day')).toBe(21);
|
|
89
127
|
expect(result.start.get('weekday')).toBe(2);
|
|
90
128
|
|
|
91
|
-
|
|
92
|
-
|
|
129
|
+
var resultDate = result.start.date();
|
|
130
|
+
var expectDate = new Date(2015, 3, 21, 12);
|
|
131
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
132
|
+
}
|
|
93
133
|
});
|
|
94
134
|
|
|
95
135
|
|
|
96
136
|
test("Test - Weekday Overlap", function () {
|
|
97
137
|
|
|
98
|
-
|
|
138
|
+
var text = "Sonntag, den 7. Dezember 2014";
|
|
139
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 9));
|
|
140
|
+
expect(results.length).toBe(1);
|
|
141
|
+
|
|
142
|
+
var result = results[0];
|
|
143
|
+
if (result) {
|
|
99
144
|
expect(result.index).toBe(0);
|
|
100
145
|
expect(result.text).toBe('Sonntag, den 7. Dezember 2014');
|
|
101
146
|
|
|
@@ -111,11 +156,18 @@ test("Test - Weekday Overlap", function () {
|
|
|
111
156
|
expect(result.start.isCertain('year')).toBe(true);
|
|
112
157
|
expect(result.start.isCertain('weekday')).toBe(true);
|
|
113
158
|
|
|
114
|
-
|
|
115
|
-
|
|
159
|
+
var resultDate = result.start.date();
|
|
160
|
+
var expectDate = new Date(2014, 12 - 1, 7, 12);
|
|
161
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
162
|
+
}
|
|
116
163
|
|
|
117
164
|
|
|
118
|
-
|
|
165
|
+
var text = "Sonntag 7.12.2014";
|
|
166
|
+
var results = chrono.de.parse(text, new Date(2012, 7, 9));
|
|
167
|
+
expect(results.length).toBe(1);
|
|
168
|
+
|
|
169
|
+
var result = results[0];
|
|
170
|
+
if (result) {
|
|
119
171
|
expect(result.index).toBe(0);
|
|
120
172
|
expect(result.text).toBe('Sonntag 7.12.2014');
|
|
121
173
|
|
|
@@ -131,14 +183,21 @@ test("Test - Weekday Overlap", function () {
|
|
|
131
183
|
expect(result.start.isCertain('year')).toBe(true);
|
|
132
184
|
expect(result.start.isCertain('weekday')).toBe(true);
|
|
133
185
|
|
|
134
|
-
|
|
135
|
-
|
|
186
|
+
var resultDate = result.start.date();
|
|
187
|
+
var expectDate = new Date(2014, 12 - 1, 7, 12);
|
|
188
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
189
|
+
}
|
|
136
190
|
});
|
|
137
191
|
|
|
138
192
|
|
|
139
193
|
test('Test - forward dates only option', function () {
|
|
140
194
|
|
|
141
|
-
|
|
195
|
+
var text = "diesen Freitag bis diesen Montag";
|
|
196
|
+
var results = chrono.de.parse(text, new Date(2016, 8-1, 4), {forwardDate: true});
|
|
197
|
+
expect(results.length).toBe(1);
|
|
198
|
+
|
|
199
|
+
var result = results[0];
|
|
200
|
+
if (result) {
|
|
142
201
|
expect(result.index).toBe(0);
|
|
143
202
|
expect(result.text).toBe('diesen Freitag bis diesen Montag');
|
|
144
203
|
|
|
@@ -153,7 +212,9 @@ test('Test - forward dates only option', function () {
|
|
|
153
212
|
expect(result.start.isCertain('year')).toBe(false);
|
|
154
213
|
expect(result.start.isCertain('weekday')).toBe(true);
|
|
155
214
|
|
|
156
|
-
|
|
215
|
+
var resultDate = result.start.date();
|
|
216
|
+
var expectDate = new Date(2016, 8-1, 5, 12);
|
|
217
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
157
218
|
|
|
158
219
|
|
|
159
220
|
expect(result.end).not.toBeNull();
|
|
@@ -167,6 +228,8 @@ test('Test - forward dates only option', function () {
|
|
|
167
228
|
expect(result.end.isCertain('year')).toBe(false);
|
|
168
229
|
expect(result.end.isCertain('weekday')).toBe(true);
|
|
169
230
|
|
|
170
|
-
|
|
171
|
-
|
|
231
|
+
var resultDate = result.end.date();
|
|
232
|
+
var expectDate = new Date(2016, 8-1, 8, 12);
|
|
233
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
234
|
+
}
|
|
172
235
|
});
|
package/test/en/en.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
|
|
|
5
4
|
test("Test - Date + Time Expression", function() {
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
expect(results.length).toBe(1)
|
|
6
|
+
var text = "Something happen on 2014-04-18 13:00 - 16:00 as";
|
|
7
|
+
var results = chrono.parse(text, new Date(2012,7,10));
|
|
8
|
+
expect(results.length).toBe(1)
|
|
10
9
|
expect(results[0].text).toBe('2014-04-18 13:00 - 16:00')
|
|
11
|
-
|
|
10
|
+
|
|
12
11
|
});
|
|
13
12
|
|
|
14
13
|
|
|
@@ -17,114 +16,117 @@ test("Test - Compare with native js", function() {
|
|
|
17
16
|
var text = 'Sat Nov 05 1994 22:45:30 GMT+0900 (JST)';
|
|
18
17
|
var result = chrono.parse(text)[0];
|
|
19
18
|
var expected = new Date(text);
|
|
20
|
-
|
|
19
|
+
|
|
21
20
|
expect(result.text).toBe(text);
|
|
22
|
-
expect(expected.getTime()).toBeCloseTo(result.start.date().getTime())
|
|
21
|
+
expect(expected.getTime()).toBeCloseTo(result.start.date().getTime())
|
|
23
22
|
|
|
24
23
|
|
|
25
24
|
var text = 'Fri, 31 Mar 2000 07:00:00 UTC';
|
|
26
25
|
var result = chrono.parse(text)[0];
|
|
27
26
|
var expected = new Date(text);
|
|
28
|
-
|
|
27
|
+
|
|
29
28
|
expect(result.text).toBe(text);
|
|
30
|
-
expect(expected.getTime()).toBeCloseTo(result.start.date().getTime())
|
|
29
|
+
expect(expected.getTime()).toBeCloseTo(result.start.date().getTime())
|
|
31
30
|
|
|
32
31
|
var text = '2014-12-14T18:22:14.759Z';
|
|
33
32
|
var result = chrono.parse(text)[0];
|
|
34
33
|
var expected = new Date(text);
|
|
35
|
-
|
|
34
|
+
|
|
36
35
|
expect(result.text).toBe(text);
|
|
37
36
|
expect(Math.abs(expected.getTime() - result.start.date().getTime())).toBe(0)
|
|
38
37
|
});
|
|
39
38
|
|
|
40
39
|
test("Test - Implying timezeon", function() {
|
|
40
|
+
|
|
41
|
+
var text = 'Sat Nov 05 1994 22:45:30 GMT+0900 (JST)';
|
|
42
|
+
var result = chrono.parse(text)[0];
|
|
43
|
+
var expected = new Date(text);
|
|
44
|
+
|
|
45
|
+
expect(result.text).toBe(text);
|
|
46
|
+
expect(expected.getTime()).toBeCloseTo(result.start.date().getTime())
|
|
41
47
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var expected = new Date(text);
|
|
45
|
-
|
|
46
|
-
expect(result.text).toBe(text);
|
|
47
|
-
expect(expected.getTime()).toBeCloseTo(result.start.date().getTime());
|
|
48
|
-
|
|
49
|
-
var impliedResult = chrono.parse('Sat Nov 05 1994 22:45:30')[0];
|
|
50
|
-
impliedResult.start.imply('timezoneOffset', 540);
|
|
48
|
+
var impliedResult = chrono.parse('Sat Nov 05 1994 22:45:30')[0];
|
|
49
|
+
impliedResult.start.imply('timezoneOffset', 540);
|
|
51
50
|
|
|
52
|
-
|
|
51
|
+
expect(expected.getTime()).toBeCloseTo(impliedResult.start.date().getTime());
|
|
53
52
|
});
|
|
54
53
|
|
|
55
|
-
test('Test - Random text', function() {
|
|
56
|
-
|
|
57
|
-
testSingleCase(chrono, 'Adam <Adam@supercalendar.com> написал(а):\nThe date is 02.07.2013', new Date(2013,5,22,3,33), (result, text) => {
|
|
54
|
+
test('Test - Random text', function() {
|
|
58
55
|
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
var text = "Adam <Adam@supercalendar.com> написал(а):\nThe date is 02.07.2013";
|
|
57
|
+
var result = chrono.parse(text, new Date(2013,5,22,3,33))[0];
|
|
58
|
+
expect(result.text).toBe('02.07.2013')
|
|
61
59
|
|
|
62
60
|
var text = "174 November 1,2001- March 31,2002";
|
|
63
61
|
var results = chrono.parse(text);
|
|
64
|
-
expect(results.length).toBe(1)
|
|
65
|
-
expect(results[0].text).toBe('November 1,2001- March 31,2002')
|
|
62
|
+
expect(results.length).toBe(1)
|
|
63
|
+
expect(results[0].text).toBe('November 1,2001- March 31,2002')
|
|
66
64
|
|
|
67
65
|
|
|
68
|
-
var text = "...Thursday, December 15, 2011 Best Available Rate "
|
|
66
|
+
var text = "...Thursday, December 15, 2011 Best Available Rate "
|
|
69
67
|
var results = chrono.parse(text);
|
|
70
|
-
expect(results.length).toBe(1)
|
|
71
|
-
expect(results[0].start.get('year')).toBe(2011)
|
|
68
|
+
expect(results.length).toBe(1)
|
|
69
|
+
expect(results[0].start.get('year')).toBe(2011)
|
|
72
70
|
|
|
73
|
-
|
|
74
|
-
var text = "SUN 15SEP 11:05 AM - 12:50 PM"
|
|
71
|
+
|
|
72
|
+
var text = "SUN 15SEP 11:05 AM - 12:50 PM"
|
|
75
73
|
var results = chrono.parse(text);
|
|
76
|
-
expect(results.length).toBe(1)
|
|
77
|
-
expect(results[0].text.length).toBe(29)
|
|
78
|
-
|
|
79
|
-
var text = "SUN 15SEP 11:05 AM – 12:50 PM"
|
|
74
|
+
expect(results.length).toBe(1)
|
|
75
|
+
expect(results[0].text.length).toBe(29)
|
|
76
|
+
|
|
77
|
+
var text = "SUN 15SEP 11:05 AM – 12:50 PM"
|
|
80
78
|
var results = chrono.parse(text);
|
|
81
|
-
expect(results.length).toBe(1)
|
|
82
|
-
expect(results[0].end).not.toBeNull()
|
|
83
|
-
|
|
84
|
-
var text = "FRI 13SEP 1:29 PM - FRI 13SEP 3:29 PM"
|
|
79
|
+
expect(results.length).toBe(1)
|
|
80
|
+
expect(results[0].end).not.toBeNull()
|
|
81
|
+
|
|
82
|
+
var text = "FRI 13SEP 1:29 PM - FRI 13SEP 3:29 PM"
|
|
85
83
|
var results = chrono.parse(text);
|
|
86
|
-
expect(results.length).toBe(1)
|
|
87
|
-
expect(results[0].start.get('hour')).toBe(13)
|
|
88
|
-
expect(results[0].end.get('hour')).toBe(15)
|
|
84
|
+
expect(results.length).toBe(1)
|
|
85
|
+
expect(results[0].start.get('hour')).toBe(13)
|
|
86
|
+
expect(results[0].end.get('hour')).toBe(15)
|
|
89
87
|
|
|
90
|
-
var text = "9:00 AM to 5:00 PM, Tuesday, 20 May 2013"
|
|
88
|
+
var text = "9:00 AM to 5:00 PM, Tuesday, 20 May 2013"
|
|
91
89
|
var results = chrono.parse(text);
|
|
92
|
-
expect(results.length).toBe(1)
|
|
93
|
-
expect(results[0].start.get('hour')).toBe(9)
|
|
94
|
-
expect(results[0].end.get('hour')).toBe(17)
|
|
95
|
-
expect(results[0].end.get('meridiem')).toBe(1)
|
|
90
|
+
expect(results.length).toBe(1)
|
|
91
|
+
expect(results[0].start.get('hour')).toBe(9)
|
|
92
|
+
expect(results[0].end.get('hour')).toBe(17)
|
|
93
|
+
expect(results[0].end.get('meridiem')).toBe(1)
|
|
96
94
|
|
|
97
95
|
|
|
98
|
-
|
|
96
|
+
var resultDate = results[0].start.date();
|
|
97
|
+
var expectDate = new Date(2013, 4, 20, 9, 0);
|
|
98
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
99
|
+
|
|
100
|
+
var resultDate = results[0].end.date();
|
|
101
|
+
var expectDate = new Date(2013, 4, 20, 17, 0);
|
|
102
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
99
103
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
var text = "2014-07-07T04:00:00Z";
|
|
104
|
+
var text = "2014-07-07T04:00:00Z"
|
|
103
105
|
var results = chrono.parse(text);
|
|
104
106
|
|
|
105
|
-
expect(results.length).toBe(1)
|
|
106
|
-
expect(results[0].text).toBe('2014-07-07T04:00:00Z')
|
|
107
|
+
expect(results.length).toBe(1)
|
|
108
|
+
expect(results[0].text).toBe('2014-07-07T04:00:00Z')
|
|
107
109
|
|
|
108
110
|
|
|
109
111
|
var text = "1.5.3 - 2015-09-24";
|
|
110
112
|
var results = chrono.parse(text);
|
|
111
113
|
|
|
112
|
-
expect(results.length).toBe(1)
|
|
113
|
-
expect(results[0].text).toBe('2015-09-24')
|
|
114
|
+
expect(results.length).toBe(1)
|
|
115
|
+
expect(results[0].text).toBe('2015-09-24')
|
|
114
116
|
|
|
115
117
|
|
|
116
118
|
var text = "1.5.30 - 2015-09-24";
|
|
117
119
|
var results = chrono.parse(text);
|
|
118
120
|
|
|
119
|
-
expect(results.length).toBe(1)
|
|
120
|
-
expect(results[0].text).toBe('2015-09-24')
|
|
121
|
+
expect(results.length).toBe(1)
|
|
122
|
+
expect(results[0].text).toBe('2015-09-24')
|
|
121
123
|
|
|
122
124
|
|
|
123
125
|
var text = "1.50.30 - 2015-09-24";
|
|
124
126
|
var results = chrono.parse(text);
|
|
125
127
|
|
|
126
|
-
expect(results.length).toBe(1)
|
|
127
|
-
expect(results[0].text).toBe('2015-09-24')
|
|
128
|
+
expect(results.length).toBe(1)
|
|
129
|
+
expect(results[0].text).toBe('2015-09-24')
|
|
128
130
|
|
|
129
131
|
var text = "Monday afternoon to last night";
|
|
130
132
|
var results = chrono.parse(text, new Date(2017, 7-1, 7));
|
|
@@ -158,62 +160,89 @@ test('Test - Random text', function() {
|
|
|
158
160
|
expect(results[0].text).toBe('from 10am to now');
|
|
159
161
|
expect(results[0].end.get('hour')).toBe(15);
|
|
160
162
|
expect(results[0].end.get('minute')).toBe(0);
|
|
161
|
-
})
|
|
163
|
+
})
|
|
162
164
|
|
|
163
165
|
test("Test - Random non-date patterns", function() {
|
|
164
166
|
|
|
165
|
-
|
|
167
|
+
var text = ' 3'
|
|
168
|
+
var results = chrono.parse(text);
|
|
169
|
+
expect(results.length).toBe(0)
|
|
166
170
|
|
|
167
|
-
|
|
171
|
+
var text = ' 1'
|
|
172
|
+
var results = chrono.parse(text);
|
|
173
|
+
expect(results.length).toBe(0)
|
|
168
174
|
|
|
169
|
-
|
|
175
|
+
var text = ' 11 '
|
|
176
|
+
var results = chrono.parse(text);
|
|
177
|
+
expect(results.length).toBe(0)
|
|
170
178
|
|
|
171
|
-
|
|
179
|
+
var text = ' 0.5 '
|
|
180
|
+
var results = chrono.parse(text);
|
|
181
|
+
expect(results.length).toBe(0)
|
|
172
182
|
|
|
173
|
-
|
|
183
|
+
var text = ' 35.49 '
|
|
184
|
+
var results = chrono.parse(text);
|
|
185
|
+
expect(results.length).toBe(0)
|
|
174
186
|
|
|
175
|
-
|
|
187
|
+
var text = '12.53%'
|
|
188
|
+
var results = chrono.parse(text);
|
|
189
|
+
expect(results.length).toBe(0)
|
|
176
190
|
|
|
177
|
-
|
|
191
|
+
var text = "6358fe2310> *5.0* / 5 Outstanding";
|
|
192
|
+
var results = chrono.parse(text);
|
|
193
|
+
expect(results.length).toBe(0)
|
|
178
194
|
|
|
179
|
-
|
|
195
|
+
var text = "6358fe2310> *1.5* / 5 Outstanding";
|
|
196
|
+
var results = chrono.parse(text);
|
|
197
|
+
expect(results.length).toBe(0)
|
|
180
198
|
|
|
181
|
-
|
|
199
|
+
var text = "Total: $1,194.09 [image: View Reservation";
|
|
200
|
+
var results = chrono.parse(text);
|
|
201
|
+
expect(results.length).toBe(0)
|
|
182
202
|
|
|
183
|
-
|
|
203
|
+
var text = "Version: 1.1.3";
|
|
204
|
+
var results = chrono.parse(text);
|
|
205
|
+
expect(results.length).toBe(0)
|
|
184
206
|
|
|
185
|
-
|
|
207
|
+
var text = "Version: 1.1.30";
|
|
208
|
+
var results = chrono.parse(text);
|
|
209
|
+
expect(results.length).toBe(0)
|
|
210
|
+
|
|
211
|
+
var text = "Version: 1.10.30";
|
|
212
|
+
var results = chrono.parse(text);
|
|
213
|
+
expect(results.length).toBe(0)
|
|
186
214
|
|
|
187
|
-
testUnexpectedResult(chrono, 'Version: 1.10.30');
|
|
188
215
|
});
|
|
189
216
|
|
|
190
217
|
|
|
191
218
|
test("Test - Wikipedia Texts", function() {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
expect(results.length).toBe(2)
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
219
|
+
|
|
220
|
+
var text = 'October 7, 2011, of which details were not revealed out of respect to Jobs\'s family.[239] Apple announced on the same day that they had no plans for a public service, but were encouraging "well-wishers" to send their remembrance messages to an email address created to receive such messages.[240] Sunday, October 16, 2011';
|
|
221
|
+
var results = chrono.parse(text, new Date(2012,7,10));
|
|
222
|
+
|
|
223
|
+
expect(results.length).toBe(2)
|
|
224
|
+
expect(results.length).toBe(2)
|
|
225
|
+
|
|
226
|
+
var result = results[0];
|
|
227
|
+
if(result){
|
|
200
228
|
expect(result.start.get('year')).toBe(2011);
|
|
201
229
|
expect(result.start.get('month')).toBe(10);
|
|
202
230
|
expect(result.start.get('day') ).toBe(7);
|
|
203
231
|
|
|
204
|
-
expect(result.index).toBe(0)
|
|
205
|
-
expect(result.text).toBe('October 7, 2011')
|
|
232
|
+
expect(result.index).toBe(0)
|
|
233
|
+
expect(result.text).toBe('October 7, 2011')
|
|
206
234
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
235
|
+
|
|
236
|
+
var result = results[1];
|
|
237
|
+
if(result){
|
|
210
238
|
expect(result.start.get('year')).toBe(2011);
|
|
211
239
|
expect(result.start.get('month')).toBe(10);
|
|
212
240
|
expect(result.start.get('day') ).toBe(16);
|
|
213
241
|
|
|
214
|
-
expect(result.index).toBe(297)
|
|
215
|
-
expect(result.text).toBe('Sunday, October 16, 2011')
|
|
242
|
+
expect(result.index).toBe(297)
|
|
243
|
+
expect(result.text).toBe('Sunday, October 16, 2011')
|
|
216
244
|
}
|
|
245
|
+
|
|
217
246
|
});
|
|
218
247
|
|
|
219
248
|
|