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/en/en_slash.test.js
CHANGED
|
@@ -1,89 +1,102 @@
|
|
|
1
1
|
import * as chrono from '../../src/chrono';
|
|
2
|
-
import { testSingleCase
|
|
2
|
+
import { testSingleCase } from '../test_util';
|
|
3
3
|
|
|
4
4
|
test("Test - Single Expression", function() {
|
|
5
|
-
|
|
6
5
|
testSingleCase(chrono, 'The event is going ahead (04/2016)', new Date(2012,7,10), (result) => {
|
|
7
|
-
expect(result.start).not.toBeNull()
|
|
8
|
-
expect(result.start.get('year')).toBe(2016)
|
|
9
|
-
expect(result.start.get('month')).toBe(4)
|
|
10
|
-
expect(result.start.get('day')).toBe(1)
|
|
6
|
+
expect(result.start).not.toBeNull()
|
|
7
|
+
expect(result.start.get('year')).toBe(2016)
|
|
8
|
+
expect(result.start.get('month')).toBe(4)
|
|
9
|
+
expect(result.start.get('day')).toBe(1)
|
|
11
10
|
|
|
12
|
-
expect(result.index).toBe(26)
|
|
13
|
-
expect(result.text).toBe('04/2016')
|
|
11
|
+
expect(result.index).toBe(26)
|
|
12
|
+
expect(result.text).toBe('04/2016')
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
var resultDate = result.start.date();
|
|
15
|
+
var expectDate = new Date(2016, 4-1, 1, 12);
|
|
16
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
16
17
|
});
|
|
17
18
|
|
|
18
19
|
testSingleCase(chrono, 'Published: 06/2004', new Date(2012,7,10), (result) => {
|
|
19
|
-
expect(result.start).not.toBeNull()
|
|
20
|
-
expect(result.start.get('year')).toBe(2004)
|
|
21
|
-
expect(result.start.get('month')).toBe(6)
|
|
22
|
-
expect(result.start.get('day')).toBe(1)
|
|
20
|
+
expect(result.start).not.toBeNull()
|
|
21
|
+
expect(result.start.get('year')).toBe(2004)
|
|
22
|
+
expect(result.start.get('month')).toBe(6)
|
|
23
|
+
expect(result.start.get('day')).toBe(1)
|
|
23
24
|
|
|
24
|
-
expect(result.index).toBe(11)
|
|
25
|
-
expect(result.text).toBe('06/2004')
|
|
25
|
+
expect(result.index).toBe(11)
|
|
26
|
+
expect(result.text).toBe('06/2004')
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
var resultDate = result.start.date();
|
|
29
|
+
var expectDate = new Date(2004, 6-1, 1, 12);
|
|
30
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
28
31
|
});
|
|
29
32
|
|
|
30
33
|
testSingleCase(chrono, '8/10/2012', new Date(2012,7,10), (result) => {
|
|
31
|
-
expect(result.start).not.toBeNull()
|
|
32
|
-
expect(result.start.get('year')).toBe(2012)
|
|
33
|
-
expect(result.start.get('month')).toBe(8)
|
|
34
|
-
expect(result.start.get('day')).toBe(10)
|
|
34
|
+
expect(result.start).not.toBeNull()
|
|
35
|
+
expect(result.start.get('year')).toBe(2012)
|
|
36
|
+
expect(result.start.get('month')).toBe(8)
|
|
37
|
+
expect(result.start.get('day')).toBe(10)
|
|
35
38
|
|
|
36
|
-
expect(result.index).toBe(0)
|
|
37
|
-
expect(result.text).toBe('8/10/2012')
|
|
39
|
+
expect(result.index).toBe(0)
|
|
40
|
+
expect(result.text).toBe('8/10/2012')
|
|
38
41
|
|
|
39
42
|
expect(result.start.isCertain('day')).toBe(true);
|
|
40
43
|
expect(result.start.isCertain('month')).toBe(true);
|
|
41
44
|
expect(result.start.isCertain('year')).toBe(true);
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
var resultDate = result.start.date();
|
|
47
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
48
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
44
49
|
});
|
|
45
50
|
|
|
46
51
|
testSingleCase(chrono, ': 8/1/2012', new Date(2012,7,10), (result) => {
|
|
47
|
-
expect(result.start).not.toBeNull()
|
|
48
|
-
expect(result.start.get('year')).toBe(2012)
|
|
49
|
-
expect(result.start.get('month')).toBe(8)
|
|
50
|
-
expect(result.start.get('day')).toBe(1)
|
|
52
|
+
expect(result.start).not.toBeNull()
|
|
53
|
+
expect(result.start.get('year')).toBe(2012)
|
|
54
|
+
expect(result.start.get('month')).toBe(8)
|
|
55
|
+
expect(result.start.get('day')).toBe(1)
|
|
51
56
|
|
|
52
|
-
expect(result.index).toBe(2)
|
|
53
|
-
expect(result.text).toBe('8/1/2012')
|
|
57
|
+
expect(result.index).toBe(2)
|
|
58
|
+
expect(result.text).toBe('8/1/2012')
|
|
54
59
|
|
|
55
|
-
|
|
60
|
+
var resultDate = result.start.date();
|
|
61
|
+
var expectDate = new Date(2012, 8-1, 1, 12);
|
|
62
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
56
63
|
});
|
|
57
64
|
|
|
58
65
|
testSingleCase(chrono, '8/10', new Date(2012,7,10), (result) => {
|
|
59
|
-
expect(result.start).not.toBeNull()
|
|
60
|
-
expect(result.start.get('year')).toBe(2012)
|
|
61
|
-
expect(result.start.get('month')).toBe(8)
|
|
62
|
-
expect(result.start.get('day')).toBe(10)
|
|
66
|
+
expect(result.start).not.toBeNull()
|
|
67
|
+
expect(result.start.get('year')).toBe(2012)
|
|
68
|
+
expect(result.start.get('month')).toBe(8)
|
|
69
|
+
expect(result.start.get('day')).toBe(10)
|
|
63
70
|
|
|
64
|
-
expect(result.index).toBe(0)
|
|
65
|
-
expect(result.text).toBe('8/10')
|
|
71
|
+
expect(result.index).toBe(0)
|
|
72
|
+
expect(result.text).toBe('8/10')
|
|
66
73
|
|
|
67
74
|
expect(result.start.isCertain('day')).toBe(true);
|
|
68
75
|
expect(result.start.isCertain('month')).toBe(true);
|
|
69
76
|
expect(result.start.isCertain('year')).toBe(false);
|
|
70
77
|
|
|
71
|
-
|
|
78
|
+
var resultDate = result.start.date();
|
|
79
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
80
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
72
81
|
});
|
|
73
82
|
|
|
74
83
|
|
|
75
84
|
testSingleCase(chrono, 'The Deadline is 8/10/2012', new Date(2012,7,10), (result) => {
|
|
76
|
-
expect(result.index).toBe(16)
|
|
77
|
-
expect(result.text).toBe('8/10/2012')
|
|
85
|
+
expect(result.index).toBe(16)
|
|
86
|
+
expect(result.text).toBe('8/10/2012')
|
|
78
87
|
|
|
79
|
-
|
|
88
|
+
var resultDate = result.start.date();
|
|
89
|
+
var expectDate = new Date(2012, 7, 10, 12);
|
|
90
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
80
91
|
});
|
|
81
92
|
|
|
82
93
|
testSingleCase(chrono, 'The Deadline is Tuesday 11/3/2015', new Date(2015,10,3), (result) => {
|
|
83
|
-
expect(result.index).toBe(16)
|
|
84
|
-
expect(result.text).toBe('Tuesday 11/3/2015')
|
|
94
|
+
expect(result.index).toBe(16)
|
|
95
|
+
expect(result.text).toBe('Tuesday 11/3/2015')
|
|
85
96
|
|
|
86
|
-
|
|
97
|
+
var resultDate = result.start.date();
|
|
98
|
+
var expectDate = new Date(2015, 10, 3, 12);
|
|
99
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
87
100
|
});
|
|
88
101
|
|
|
89
102
|
});
|
|
@@ -91,30 +104,34 @@ test("Test - Single Expression", function() {
|
|
|
91
104
|
test("Test - Single Expression Little-Endian", function() {
|
|
92
105
|
|
|
93
106
|
testSingleCase(chrono.en_GB, '8/10/2012', new Date(2012,7,10), (result) => {
|
|
94
|
-
expect(result.start).not.toBeNull()
|
|
95
|
-
expect(result.start.get('year')).toBe(2012)
|
|
96
|
-
expect(result.start.get('month')).toBe(10)
|
|
97
|
-
expect(result.start.get('day')).toBe(8)
|
|
107
|
+
expect(result.start).not.toBeNull()
|
|
108
|
+
expect(result.start.get('year')).toBe(2012)
|
|
109
|
+
expect(result.start.get('month')).toBe(10)
|
|
110
|
+
expect(result.start.get('day')).toBe(8)
|
|
98
111
|
|
|
99
|
-
expect(result.index).toBe(0)
|
|
100
|
-
expect(result.text).toBe('8/10/2012')
|
|
112
|
+
expect(result.index).toBe(0)
|
|
113
|
+
expect(result.text).toBe('8/10/2012')
|
|
101
114
|
|
|
102
|
-
|
|
115
|
+
var resultDate = result.start.date();
|
|
116
|
+
var expectDate = new Date(2012, 10-1, 8, 12);
|
|
117
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
103
118
|
});
|
|
104
119
|
});
|
|
105
120
|
|
|
106
121
|
test("Test - Single Expression Little-Endian with Month name", function() {
|
|
107
122
|
|
|
108
123
|
testSingleCase(chrono.en_GB, '8/Oct/2012', new Date(2012,7,10), (result) => {
|
|
109
|
-
expect(result.start).not.toBeNull()
|
|
110
|
-
expect(result.start.get('year')).toBe(2012)
|
|
111
|
-
expect(result.start.get('month')).toBe(10)
|
|
112
|
-
expect(result.start.get('day')).toBe(8)
|
|
124
|
+
expect(result.start).not.toBeNull()
|
|
125
|
+
expect(result.start.get('year')).toBe(2012)
|
|
126
|
+
expect(result.start.get('month')).toBe(10)
|
|
127
|
+
expect(result.start.get('day')).toBe(8)
|
|
113
128
|
|
|
114
|
-
expect(result.index).toBe(0)
|
|
115
|
-
expect(result.text).toBe('8/Oct/2012')
|
|
129
|
+
expect(result.index).toBe(0)
|
|
130
|
+
expect(result.text).toBe('8/Oct/2012')
|
|
116
131
|
|
|
117
|
-
|
|
132
|
+
var resultDate = result.start.date();
|
|
133
|
+
var expectDate = new Date(2012, 10-1, 8, 12);
|
|
134
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
118
135
|
});
|
|
119
136
|
});
|
|
120
137
|
|
|
@@ -122,45 +139,53 @@ test("Test - Single Expression Little-Endian with Month name", function() {
|
|
|
122
139
|
test("Test - Single Expression Start with Year", function() {
|
|
123
140
|
|
|
124
141
|
testSingleCase(chrono, '2012/8/10', new Date(2012,7,10), (result) => {
|
|
125
|
-
expect(result.start).not.toBeNull()
|
|
126
|
-
expect(result.start.get('year')).toBe(2012)
|
|
127
|
-
expect(result.start.get('month')).toBe(8)
|
|
128
|
-
expect(result.start.get('day')).toBe(10)
|
|
142
|
+
expect(result.start).not.toBeNull()
|
|
143
|
+
expect(result.start.get('year')).toBe(2012)
|
|
144
|
+
expect(result.start.get('month')).toBe(8)
|
|
145
|
+
expect(result.start.get('day')).toBe(10)
|
|
129
146
|
|
|
130
|
-
expect(result.index).toBe(0)
|
|
131
|
-
expect(result.text).toBe('2012/8/10')
|
|
147
|
+
expect(result.index).toBe(0)
|
|
148
|
+
expect(result.text).toBe('2012/8/10')
|
|
132
149
|
|
|
133
|
-
|
|
150
|
+
var resultDate = result.start.date();
|
|
151
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
152
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
134
153
|
});
|
|
135
154
|
|
|
136
155
|
|
|
137
156
|
testSingleCase(chrono, 'The Deadline is 2012/8/10', new Date(2012,7,10), (result) => {
|
|
138
|
-
expect(result.index).toBe(16)
|
|
139
|
-
expect(result.text).toBe('2012/8/10')
|
|
157
|
+
expect(result.index).toBe(16)
|
|
158
|
+
expect(result.text).toBe('2012/8/10')
|
|
140
159
|
|
|
141
|
-
|
|
160
|
+
var resultDate = result.start.date();
|
|
161
|
+
var expectDate = new Date(2012, 7, 10, 12);
|
|
162
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
142
163
|
});
|
|
143
164
|
});
|
|
144
165
|
|
|
145
166
|
test("Test - Single Expression Start with Year and Month Name", function() {
|
|
146
167
|
|
|
147
168
|
testSingleCase(chrono, '2012/Aug/10', new Date(2012,7,10), (result) => {
|
|
148
|
-
expect(result.start).not.toBeNull()
|
|
149
|
-
expect(result.start.get('year')).toBe(2012)
|
|
150
|
-
expect(result.start.get('month')).toBe(8)
|
|
151
|
-
expect(result.start.get('day')).toBe(10)
|
|
169
|
+
expect(result.start).not.toBeNull()
|
|
170
|
+
expect(result.start.get('year')).toBe(2012)
|
|
171
|
+
expect(result.start.get('month')).toBe(8)
|
|
172
|
+
expect(result.start.get('day')).toBe(10)
|
|
152
173
|
|
|
153
|
-
expect(result.index).toBe(0)
|
|
154
|
-
expect(result.text).toBe('2012/Aug/10')
|
|
174
|
+
expect(result.index).toBe(0)
|
|
175
|
+
expect(result.text).toBe('2012/Aug/10')
|
|
155
176
|
|
|
156
|
-
|
|
177
|
+
var resultDate = result.start.date();
|
|
178
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
179
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
157
180
|
});
|
|
158
181
|
|
|
159
182
|
testSingleCase(chrono, 'The Deadline is 2012/aug/10', new Date(2012,7,10), (result) => {
|
|
160
|
-
expect(result.index).toBe(16)
|
|
161
|
-
expect(result.text).toBe('2012/aug/10')
|
|
183
|
+
expect(result.index).toBe(16)
|
|
184
|
+
expect(result.text).toBe('2012/aug/10')
|
|
162
185
|
|
|
163
|
-
|
|
186
|
+
var resultDate = result.start.date();
|
|
187
|
+
var expectDate = new Date(2012, 7, 10, 12);
|
|
188
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
164
189
|
});
|
|
165
190
|
});
|
|
166
191
|
|
|
@@ -170,22 +195,26 @@ test("Test - Range Expression", function() {
|
|
|
170
195
|
|
|
171
196
|
testSingleCase(chrono.en, '8/10/2012 - 8/15/2012', new Date(2012,7,10), (result) => {
|
|
172
197
|
|
|
173
|
-
expect(result.index).toBe(0)
|
|
174
|
-
expect(result.text).toBe('8/10/2012 - 8/15/2012')
|
|
198
|
+
expect(result.index).toBe(0)
|
|
199
|
+
expect(result.text).toBe('8/10/2012 - 8/15/2012')
|
|
175
200
|
|
|
176
|
-
expect(result.start).not.toBeNull()
|
|
177
|
-
expect(result.start.get('year')).toBe(2012)
|
|
178
|
-
expect(result.start.get('month')).toBe(8)
|
|
179
|
-
expect(result.start.get('day')).toBe(10)
|
|
201
|
+
expect(result.start).not.toBeNull()
|
|
202
|
+
expect(result.start.get('year')).toBe(2012)
|
|
203
|
+
expect(result.start.get('month')).toBe(8)
|
|
204
|
+
expect(result.start.get('day')).toBe(10)
|
|
180
205
|
|
|
181
|
-
|
|
206
|
+
var resultDate = result.start.date();
|
|
207
|
+
var expectDate = new Date(2012, 8-1, 10, 12);
|
|
208
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
182
209
|
|
|
183
|
-
expect(result.end).not.toBeNull()
|
|
184
|
-
expect(result.end.get('year')).toBe(2012)
|
|
185
|
-
expect(result.end.get('month')).toBe(8)
|
|
186
|
-
expect(result.end.get('day')).toBe(15)
|
|
210
|
+
expect(result.end).not.toBeNull()
|
|
211
|
+
expect(result.end.get('year')).toBe(2012)
|
|
212
|
+
expect(result.end.get('month')).toBe(8)
|
|
213
|
+
expect(result.end.get('day')).toBe(15)
|
|
187
214
|
|
|
188
|
-
|
|
215
|
+
var resultDate = result.end.date();
|
|
216
|
+
var expectDate = new Date(2012, 8-1, 15, 12);
|
|
217
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
189
218
|
|
|
190
219
|
});
|
|
191
220
|
});
|
|
@@ -196,25 +225,25 @@ test('Test - Random date patterns', function() {
|
|
|
196
225
|
text = "2015-05-25";
|
|
197
226
|
results = chrono.parse(text);
|
|
198
227
|
resultDate = results[0].start.date();
|
|
199
|
-
expect(results.length).toBe(1)
|
|
228
|
+
expect(results.length).toBe(1)
|
|
200
229
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
201
230
|
|
|
202
231
|
text = "2015/05/25";
|
|
203
232
|
results = chrono.parse(text);
|
|
204
233
|
resultDate = results[0].start.date();
|
|
205
|
-
expect(results.length).toBe(1)
|
|
234
|
+
expect(results.length).toBe(1)
|
|
206
235
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
207
236
|
|
|
208
237
|
var text = "05-25-2015";
|
|
209
238
|
var results = chrono.parse(text);
|
|
210
239
|
var resultDate = results[0].start.date();
|
|
211
|
-
expect(results.length).toBe(1)
|
|
240
|
+
expect(results.length).toBe(1)
|
|
212
241
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
213
242
|
|
|
214
243
|
text = "05/25/2015";
|
|
215
244
|
results = chrono.parse(text);
|
|
216
245
|
resultDate = results[0].start.date();
|
|
217
|
-
expect(results.length).toBe(1)
|
|
246
|
+
expect(results.length).toBe(1)
|
|
218
247
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
219
248
|
|
|
220
249
|
text = "05.25.2015";
|
|
@@ -227,7 +256,7 @@ test('Test - Random date patterns', function() {
|
|
|
227
256
|
text = "25/05/2015";
|
|
228
257
|
results = chrono.parse(text);
|
|
229
258
|
resultDate = results[0].start.date();
|
|
230
|
-
expect(results.length).toBe(1)
|
|
259
|
+
expect(results.length).toBe(1)
|
|
231
260
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
232
261
|
|
|
233
262
|
// ambiguous US date pattern, expected 5th of June
|
|
@@ -235,42 +264,42 @@ test('Test - Random date patterns', function() {
|
|
|
235
264
|
text = "06/05/2015";
|
|
236
265
|
results = chrono.parse(text);
|
|
237
266
|
resultDate = results[0].start.date();
|
|
238
|
-
expect(results.length).toBe(1)
|
|
267
|
+
expect(results.length).toBe(1)
|
|
239
268
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
240
269
|
|
|
241
270
|
expectDate = new Date(2015, 7, 13, 12, 0);
|
|
242
271
|
text = "2015.8.13";
|
|
243
272
|
results = chrono.parse(text);
|
|
244
273
|
resultDate = results[0].start.date();
|
|
245
|
-
expect(results.length).toBe(1)
|
|
274
|
+
expect(results.length).toBe(1)
|
|
246
275
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
247
276
|
|
|
248
277
|
expectDate = new Date(2015, 7, 13, 12, 0);
|
|
249
278
|
text = "2015.08.13";
|
|
250
279
|
results = chrono.parse(text);
|
|
251
280
|
resultDate = results[0].start.date();
|
|
252
|
-
expect(results.length).toBe(1)
|
|
281
|
+
expect(results.length).toBe(1)
|
|
253
282
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
254
283
|
|
|
255
284
|
expectDate = new Date(2015, 7, 13, 12, 0);
|
|
256
285
|
text = "2015.08.13";
|
|
257
286
|
results = chrono.parse(text);
|
|
258
287
|
resultDate = results[0].start.date();
|
|
259
|
-
expect(results.length).toBe(1)
|
|
288
|
+
expect(results.length).toBe(1)
|
|
260
289
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
261
290
|
|
|
262
291
|
expectDate = new Date(2007, 7, 13, 12, 0);
|
|
263
292
|
text = "2007/8/13";
|
|
264
293
|
results = chrono.parse(text);
|
|
265
294
|
resultDate = results[0].start.date();
|
|
266
|
-
expect(results.length).toBe(1)
|
|
295
|
+
expect(results.length).toBe(1)
|
|
267
296
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
268
297
|
|
|
269
298
|
expectDate = new Date(2007, 7, 13, 12, 0);
|
|
270
299
|
text = "2007/08/13";
|
|
271
300
|
results = chrono.parse(text);
|
|
272
301
|
resultDate = results[0].start.date();
|
|
273
|
-
expect(results.length).toBe(1)
|
|
302
|
+
expect(results.length).toBe(1)
|
|
274
303
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
275
304
|
|
|
276
305
|
|
|
@@ -278,29 +307,39 @@ test('Test - Random date patterns', function() {
|
|
|
278
307
|
text = "8/13/99";
|
|
279
308
|
results = chrono.parse(text);
|
|
280
309
|
resultDate = results[0].start.date();
|
|
281
|
-
expect(results.length).toBe(1)
|
|
310
|
+
expect(results.length).toBe(1)
|
|
282
311
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
283
312
|
|
|
284
313
|
expectDate = new Date(1989, 7, 13, 12, 0);
|
|
285
314
|
text = "8/13/89";
|
|
286
315
|
results = chrono.parse(text);
|
|
287
316
|
resultDate = results[0].start.date();
|
|
288
|
-
expect(results.length).toBe(1)
|
|
317
|
+
expect(results.length).toBe(1)
|
|
289
318
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
290
319
|
});
|
|
291
320
|
|
|
292
321
|
|
|
293
322
|
test("Test - Impossible Date (Strict Mode)", function() {
|
|
294
323
|
|
|
295
|
-
|
|
324
|
+
var text = "8/32/2014";
|
|
325
|
+
var results = chrono.strict.parse(text, new Date(2012,7,10));
|
|
326
|
+
expect(results.length).toBe(0)
|
|
296
327
|
|
|
297
|
-
|
|
328
|
+
var text = "8/32";
|
|
329
|
+
var results = chrono.strict.parse(text, new Date(2012,7,10));
|
|
330
|
+
expect(results.length).toBe(0)
|
|
298
331
|
|
|
299
|
-
|
|
332
|
+
var text = "2/29/2014";
|
|
333
|
+
var results = chrono.strict.parse(text, new Date(2012,7,10));
|
|
334
|
+
expect(results.length).toBe(0)
|
|
300
335
|
|
|
301
|
-
|
|
336
|
+
var text = "2014/22/29";
|
|
337
|
+
var results = chrono.strict.parse(text, new Date(2012,7,10));
|
|
338
|
+
expect(results.length).toBe(0)
|
|
302
339
|
|
|
303
|
-
|
|
340
|
+
var text = "2014/13/22";
|
|
341
|
+
var results = chrono.strict.parse(text, new Date(2012,7,10));
|
|
342
|
+
expect(results.length).toBe(0)
|
|
304
343
|
});
|
|
305
344
|
|
|
306
345
|
|
|
@@ -310,26 +349,28 @@ test("Test - Impossible Dates (Casual Mode)", function() {
|
|
|
310
349
|
var expectDate = new Date(2015, 9, 1, 12, 0);
|
|
311
350
|
var results = chrono.parse(text);
|
|
312
351
|
var resultDate = results[0].start.date();
|
|
313
|
-
expect(results.length).toBe(1)
|
|
352
|
+
expect(results.length).toBe(1)
|
|
314
353
|
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
315
354
|
});
|
|
316
355
|
|
|
317
356
|
test('Test - forward dates only option', function () {
|
|
318
357
|
|
|
319
358
|
testSingleCase(chrono, '5/31', new Date(1999, 6-1, 1), {forwardDate: true}, (result) => {
|
|
320
|
-
expect(result.start).not.toBeNull()
|
|
321
|
-
expect(result.start.get('year')).toBe(2000)
|
|
322
|
-
expect(result.start.get('month')).toBe(5)
|
|
323
|
-
expect(result.start.get('day')).toBe(31)
|
|
359
|
+
expect(result.start).not.toBeNull()
|
|
360
|
+
expect(result.start.get('year')).toBe(2000)
|
|
361
|
+
expect(result.start.get('month')).toBe(5)
|
|
362
|
+
expect(result.start.get('day')).toBe(31)
|
|
324
363
|
|
|
325
|
-
expect(result.index).toBe(0)
|
|
326
|
-
expect(result.text).toBe('5/31')
|
|
364
|
+
expect(result.index).toBe(0)
|
|
365
|
+
expect(result.text).toBe('5/31')
|
|
327
366
|
|
|
328
367
|
expect(result.start.isCertain('day')).toBe(true);
|
|
329
368
|
expect(result.start.isCertain('month')).toBe(true);
|
|
330
369
|
expect(result.start.isCertain('year')).toBe(false);
|
|
331
370
|
|
|
332
|
-
|
|
371
|
+
var resultDate = result.start.date();
|
|
372
|
+
var expectDate = new Date(2000, 5-1, 31, 12);
|
|
373
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
|
|
333
374
|
});
|
|
334
375
|
|
|
335
376
|
});
|