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.
Files changed (69) hide show
  1. package/dist/chrono.js +711 -809
  2. package/dist/chrono.js.map +1 -1
  3. package/dist/chrono.min.js +1 -1
  4. package/dist/chrono.min.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/chrono.js +57 -59
  7. package/src/options.js +30 -29
  8. package/src/parsers/en/ENDeadlineFormatParser.js +9 -9
  9. package/src/result.js +119 -119
  10. package/test/de/de.test.js +36 -51
  11. package/test/de/de_casual.test.js +242 -141
  12. package/test/de/de_dash.test.js +5 -8
  13. package/test/de/de_deadline.test.js +151 -47
  14. package/test/de/de_little_endian.test.js +207 -58
  15. package/test/de/de_time_ago.test.js +167 -52
  16. package/test/de/de_time_exp.test.js +135 -121
  17. package/test/de/de_weekday.test.js +94 -31
  18. package/test/en/en.test.js +118 -89
  19. package/test/en/en_casual.test.js +149 -134
  20. package/test/en/en_dash.test.js +17 -11
  21. package/test/en/en_deadline.test.js +93 -69
  22. package/test/en/en_inter_std.test.js +28 -7
  23. package/test/en/en_little_endian.test.js +76 -26
  24. package/test/en/en_middle_endian.test.js +63 -21
  25. package/test/en/en_month.test.js +6 -2
  26. package/test/en/en_option_forward.test.js +120 -112
  27. package/test/en/en_relative.test.js +155 -172
  28. package/test/en/en_slash.test.js +156 -115
  29. package/test/en/en_time_ago.test.js +61 -21
  30. package/test/en/en_time_exp.test.js +228 -209
  31. package/test/en/en_time_from_now.test.js +70 -24
  32. package/test/en/en_time_later.test.js +16 -6
  33. package/test/en/en_weekday.test.js +39 -13
  34. package/test/es/es_casual.test.js +143 -120
  35. package/test/es/es_dash.test.js +7 -8
  36. package/test/es/es_deadline.test.js +69 -35
  37. package/test/es/es_little_endian.test.js +250 -145
  38. package/test/es/es_slash.test.js +17 -12
  39. package/test/es/es_time_ago.test.js +21 -7
  40. package/test/es/es_time_exp.test.js +154 -160
  41. package/test/fr/fr_casual.test.js +153 -124
  42. package/test/fr/fr_dash.test.js +13 -6
  43. package/test/fr/fr_deadline.test.js +163 -44
  44. package/test/fr/fr_little_endian.test.js +262 -81
  45. package/test/fr/fr_relative.test.js +188 -196
  46. package/test/fr/fr_slash.test.js +41 -14
  47. package/test/fr/fr_time_ago.test.js +30 -10
  48. package/test/fr/fr_time_exp.test.js +619 -567
  49. package/test/fr/fr_weekday.test.js +24 -8
  50. package/test/ja/ja_casual.test.js +41 -26
  51. package/test/ja/ja_standard.test.js +322 -207
  52. package/test/nl/nl.test.js +18 -20
  53. package/test/nl/nl_dash.test.js +26 -26
  54. package/test/nl/nl_little_endian.test.js +100 -51
  55. package/test/nl/nl_time_exp.test.js +37 -13
  56. package/test/nl/nl_weekday.test.js +39 -13
  57. package/test/pt/pt_casual.test.js +222 -156
  58. package/test/pt/pt_dash.test.js +7 -6
  59. package/test/pt/pt_deadline.test.js +51 -17
  60. package/test/pt/pt_little_endian.test.js +251 -144
  61. package/test/pt/pt_slash.test.js +38 -25
  62. package/test/pt/pt_time_ago.test.js +128 -80
  63. package/test/pt/pt_time_exp.test.js +191 -173
  64. package/test/test_util.js +1 -5
  65. package/test/zh/zh_hant_casual.test.js +184 -87
  66. package/test/zh/zh_hant_date.test.js +109 -75
  67. package/test/zh/zh_hant_deadline.test.js +131 -41
  68. package/test/zh/zh_hant_time_exp.test.js +184 -141
  69. package/test/zh/zh_hant_weekday.test.js +64 -22
@@ -1,224 +1,339 @@
1
- import * as chrono from '../../src/chrono';
2
- import { testSingleCase } from '../test_util';
1
+ var chrono = require('../../src/chrono');
3
2
 
4
3
 
5
4
  test("Test - Single Expression", function() {
6
5
 
7
- testSingleCase(chrono, '主な株主(2012年3月31日現在)', new Date(2012,8-1,10), (result) => {
8
- expect(result.index).toBe(5);
9
- expect(result.text).toBe('2012年3月31日');
10
-
11
- expect(result.start).not.toBeNull();
12
- expect(result.start.get('year')).toBe(2012);
13
- expect(result.start.get('month')).toBe(3);
14
- expect(result.start.get('day')).toBe(31);
15
-
16
- expect(result.start).toBeDate(new Date(2012, 3-1, 31, 12));
17
- });
18
-
19
-
20
- testSingleCase(chrono, '主な株主(2012年9月3日現在)', new Date(2012,8-1,10), (result) => {
21
- expect(result.index).toBe(5);
22
- expect(result.text).toBe('2012年9月3日');
23
-
24
- expect(result.start).not.toBeNull();
25
- expect(result.start.get('year')).toBe(2012);
26
- expect(result.start.get('month')).toBe(9);
27
- expect(result.start.get('day')).toBe(3);
28
-
29
- expect(result.start).toBeDate(new Date(2012, 9-1, 3, 12));
30
- });
31
-
32
- testSingleCase(chrono, '主な株主(2020年2月29日現在)', new Date(2019,8-1,10), (result) => {
33
- expect(result.index).toBe(5);
34
- expect(result.text).toBe('2020年2月29日');
35
-
36
- expect(result.start).not.toBeNull();
37
- expect(result.start.get('year')).toBe(2020);
38
- expect(result.start.get('month')).toBe(2);
39
- expect(result.start.get('day')).toBe(29);
40
-
41
- expect(result.start).toBeDate(new Date(2020, 2-1, 29, 12));
42
- });
43
-
44
- testSingleCase(chrono, '主な株主(9月3日現在)', new Date(2012,8-1,10), (result) => {
45
- expect(result.index).toBe(5);
46
- expect(result.text).toBe('9月3日');
47
-
48
- expect(result.start).not.toBeNull();
49
- expect(result.start.get('year')).toBe(2012);
50
- expect(result.start.get('month')).toBe(9);
51
- expect(result.start.get('day')).toBe(3);
52
-
53
- expect(result.start).toBeDate(new Date(2012, 9-1, 3, 12));
54
- });
55
-
56
- testSingleCase(chrono, '主な株主(平成26年12月29日)', new Date(2012,8-1,10), (result) => {
57
- expect(result.index).toBe(5);
58
- expect(result.text).toBe('平成26年12月29日');
59
-
60
- expect(result.start).not.toBeNull();
61
- expect(result.start.get('year')).toBe(2014);
62
- expect(result.start.get('month')).toBe(12);
63
- expect(result.start.get('day')).toBe(29);
64
-
65
- expect(result.start).toBeDate(new Date(2014, 12-1, 29, 12));
66
- });
67
-
68
- testSingleCase(chrono, '主な株主(昭和64年1月7日)', new Date(2012,8-1,10), (result) => {
69
- expect(result.index).toBe(5);
70
- expect(result.text).toBe('昭和64年1月7日');
71
-
72
- expect(result.start).not.toBeNull();
73
- expect(result.start.get('year')).toBe(1989);
74
- expect(result.start.get('month')).toBe(1);
75
- expect(result.start.get('day')).toBe(7);
76
-
77
- expect(result.start).toBeDate(new Date(1989, 1-1, 7, 12));
78
- });
79
-
80
-
81
- testSingleCase(chrono, '主な株主(令和元年5月1日)', new Date(2012,8-1,10), (result) => {
82
- expect(result.index).toBe(5);
83
- expect(result.text).toBe('令和元年5月1日');
84
-
85
- expect(result.start).not.toBeNull();
86
- expect(result.start.get('year')).toBe(2019);
87
- expect(result.start.get('month')).toBe(5);
88
- expect(result.start.get('day')).toBe(1);
89
-
90
- expect(result.start).toBeDate(new Date(2019, 5-1, 1, 12));
91
- });
92
-
93
- testSingleCase(chrono, '主な株主(令和2年5月1日)', new Date(2012,8-1,10), (result) => {
94
- expect(result.index).toBe(5);
95
- expect(result.text).toBe('令和2年5月1日');
96
-
97
- expect(result.start).not.toBeNull();
98
- expect(result.start.knownValues.year).toBe(2020);
99
- expect(result.start.get('month')).toBe(5);
100
- expect(result.start.get('day')).toBe(1);
101
-
102
- expect(result.start).toBeDate(new Date(2020, 5-1, 1, 12));
103
- });
104
-
105
- testSingleCase(chrono, '主な株主(同年7月27日)', new Date(2012,8-1,10), (result) => {
106
- expect(result.index).toBe(5);
107
- expect(result.text).toBe('同年7月27日');
108
-
109
- expect(result.start).not.toBeNull();
110
- expect(result.start.get('year')).toBe(2012);
111
- expect(result.start.get('month')).toBe(7);
112
- expect(result.start.get('day')).toBe(27);
113
-
114
- expect(result.start).toBeDate(new Date(2012, 7-1, 27, 12));
115
- });
116
-
117
- testSingleCase(chrono, '主な株主(本年7月27日)', new Date(2012,8-1,10), (result) => {
118
- expect(result.index).toBe(5);
119
- expect(result.text).toBe('本年7月27日');
120
-
121
- expect(result.start).not.toBeNull();
122
- expect(result.start.get('year')).toBe(2012);
123
- expect(result.start.get('month')).toBe(7);
124
- expect(result.start.get('day')).toBe(27);
125
-
126
- expect(result.start).toBeDate(new Date(2012, 7-1, 27, 12));
127
- });
128
-
129
- testSingleCase(chrono, '主な株主(今年7月27日)', new Date(2012,8-1,10), (result) => {
130
- expect(result.index).toBe(5);
131
- expect(result.text).toBe('今年7月27日');
132
-
133
- expect(result.start).not.toBeNull();
134
- expect(result.start.get('year')).toBe(2012);
135
- expect(result.start.get('month')).toBe(7);
136
- expect(result.start.get('day')).toBe(27);
137
-
138
- expect(result.start).toBeDate(new Date(2012, 7-1, 27, 12));
139
- });
140
-
141
- testSingleCase(chrono, '主な株主(今年11月27日)', new Date(2012,1-1,10), (result) => {
142
- expect(result.index).toBe(5);
143
- expect(result.text).toBe('今年11月27日');
144
-
145
- expect(result.start).not.toBeNull();
146
- expect(result.start.get('year')).toBe(2012);
147
- expect(result.start.get('month')).toBe(11);
148
- expect(result.start.get('day')).toBe(27);
149
-
150
- expect(result.start).toBeDate(new Date(2012, 11-1, 27, 12));
151
- });
6
+ var text = "主な株主(2012年3月31日現在)";
7
+ var results = chrono.parse(text, new Date(2012,8-1,10));
8
+ expect(results.length).toBe(1)
9
+
10
+ var result = results[0];
11
+ if (result) {
12
+ expect(result.index).toBe(5)
13
+ expect(result.text).toBe('2012年3月31日')
14
+
15
+ expect(result.start).not.toBeNull()
16
+ expect(result.start.get('year')).toBe(2012)
17
+ expect(result.start.get('month')).toBe(3)
18
+ expect(result.start.get('day')).toBe(31)
19
+
20
+ var resultDate = result.start.date();
21
+ var expectDate = new Date(2012, 3-1, 31, 12);
22
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
23
+ }
24
+
25
+
26
+ var text = "主な株主(2012年9月3日現在)";
27
+ var results = chrono.parse(text, new Date(2012,8-1,10));
28
+ expect(results.length).toBe(1)
29
+
30
+ var result = results[0];
31
+ if (result) {
32
+ expect(result.index).toBe(5)
33
+ expect(result.text).toBe('2012年9月3日')
34
+
35
+ expect(result.start).not.toBeNull()
36
+ expect(result.start.get('year')).toBe(2012)
37
+ expect(result.start.get('month')).toBe(9)
38
+ expect(result.start.get('day')).toBe(3)
39
+
40
+ var resultDate = result.start.date();
41
+ var expectDate = new Date(2012, 9-1, 3, 12);
42
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
43
+ }
44
+
45
+ var text = "主な株主(2020年2月29日現在)";
46
+ var results = chrono.parse(text, new Date(2019,8-1,10));
47
+ expect(results.length).toBe(1)
48
+
49
+ var result = results[0];
50
+ if (result) {
51
+ expect(result.index).toBe(5)
52
+ expect(result.text).toBe('2020年2月29日')
53
+
54
+ expect(result.start).not.toBeNull()
55
+ expect(result.start.get('year')).toBe(2020)
56
+ expect(result.start.get('month')).toBe(2)
57
+ expect(result.start.get('day')).toBe(29)
58
+
59
+ var resultDate = result.start.date();
60
+ var expectDate = new Date(2020, 2-1, 29, 12);
61
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
62
+ }
63
+
64
+ var text = "主な株主(9月3日現在)";
65
+ var results = chrono.parse(text, new Date(2012,8-1,10));
66
+ expect(results.length).toBe(1)
67
+
68
+ var result = results[0];
69
+ if (result) {
70
+ expect(result.index).toBe(5)
71
+ expect(result.text).toBe('9月3日')
72
+
73
+ expect(result.start).not.toBeNull()
74
+ expect(result.start.get('year')).toBe(2012)
75
+ expect(result.start.get('month')).toBe(9)
76
+ expect(result.start.get('day')).toBe(3)
77
+
78
+ var resultDate = result.start.date();
79
+ var expectDate = new Date(2012, 9-1, 3, 12);
80
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
81
+ }
82
+
83
+ var text = "主な株主(平成26年12月29日)";
84
+ var results = chrono.parse(text, new Date(2012,8-1,10));
85
+ expect(results.length).toBe(1)
86
+
87
+ var result = results[0];
88
+ if (result) {
89
+ expect(result.index).toBe(5)
90
+ expect(result.text).toBe('平成26年12月29日')
91
+
92
+ expect(result.start).not.toBeNull()
93
+ expect(result.start.get('year')).toBe(2014)
94
+ expect(result.start.get('month')).toBe(12)
95
+ expect(result.start.get('day')).toBe(29)
96
+
97
+ var resultDate = result.start.date();
98
+ var expectDate = new Date(2014, 12-1, 29, 12);
99
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
100
+ }
101
+
102
+ var text = "主な株主(昭和64年1月7日)";
103
+ var results = chrono.parse(text, new Date(2012,8-1,10));
104
+ expect(results.length).toBe(1)
105
+
106
+ var result = results[0];
107
+ if (result) {
108
+ expect(result.index).toBe(5)
109
+ expect(result.text).toBe('昭和64年1月7日')
110
+
111
+ expect(result.start).not.toBeNull()
112
+ expect(result.start.get('year')).toBe(1989)
113
+ expect(result.start.get('month')).toBe(1)
114
+ expect(result.start.get('day')).toBe(7)
115
+
116
+ var resultDate = result.start.date();
117
+ var expectDate = new Date(1989, 1-1, 7, 12);
118
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
119
+ }
120
+
121
+
122
+ var text = "主な株主(令和元年5月1日)";
123
+ var results = chrono.parse(text, new Date(2012,8-1,10));
124
+ expect(results.length).toBe(1)
125
+
126
+ var result = results[0];
127
+ if (result) {
128
+ expect(result.index).toBe(5)
129
+ expect(result.text).toBe('令和元年5月1日')
130
+
131
+ expect(result.start).not.toBeNull()
132
+ expect(result.start.get('year')).toBe(2019)
133
+ expect(result.start.get('month')).toBe(5)
134
+ expect(result.start.get('day')).toBe(1)
135
+
136
+ var resultDate = result.start.date();
137
+ var expectDate = new Date(2019, 5-1, 1, 12);
138
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
139
+ }
140
+
141
+ var text = "主な株主(令和2年5月1日)";
142
+ var results = chrono.parse(text, new Date(2012,8-1,10));
143
+ expect(results.length).toBe(1)
144
+
145
+ var result = results[0];
146
+ if (result) {
147
+ expect(result.index).toBe(5)
148
+ expect(result.text).toBe('令和2年5月1日')
149
+
150
+ expect(result.start).not.toBeNull()
151
+ expect(result.start.knownValues.year).toBe(2020)
152
+ expect(result.start.get('month')).toBe(5)
153
+ expect(result.start.get('day')).toBe(1)
154
+
155
+ var resultDate = result.start.date();
156
+ var expectDate = new Date(2020, 5-1, 1, 12);
157
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
158
+ }
159
+
160
+ var text = "主な株主(同年7月27日)";
161
+ var results = chrono.parse(text, new Date(2012,8-1,10));
162
+ expect(results.length).toBe(1)
163
+
164
+ var result = results[0];
165
+ if (result) {
166
+ expect(result.index).toBe(5)
167
+ expect(result.text).toBe('同年7月27日')
168
+
169
+ expect(result.start).not.toBeNull()
170
+ expect(result.start.get('year')).toBe(2012)
171
+ expect(result.start.get('month')).toBe(7)
172
+ expect(result.start.get('day')).toBe(27)
173
+
174
+ var resultDate = result.start.date();
175
+ var expectDate = new Date(2012, 7-1, 27, 12);
176
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
177
+ }
178
+
179
+ var text = "主な株主(本年7月27日)";
180
+ var results = chrono.parse(text, new Date(2012,8-1,10));
181
+ expect(results.length).toBe(1)
182
+
183
+ var result = results[0];
184
+ if (result) {
185
+ expect(result.index).toBe(5)
186
+ expect(result.text).toBe('本年7月27日')
187
+
188
+ expect(result.start).not.toBeNull()
189
+ expect(result.start.get('year')).toBe(2012)
190
+ expect(result.start.get('month')).toBe(7)
191
+ expect(result.start.get('day')).toBe(27)
192
+
193
+ var resultDate = result.start.date();
194
+ var expectDate = new Date(2012, 7-1, 27, 12);
195
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
196
+ }
197
+
198
+ var text = "主な株主(今年7月27日)";
199
+ var results = chrono.parse(text, new Date(2012,8-1,10));
200
+ expect(results.length).toBe(1)
201
+
202
+ var result = results[0];
203
+ if (result) {
204
+ expect(result.index).toBe(5)
205
+ expect(result.text).toBe('今年7月27日')
206
+
207
+ expect(result.start).not.toBeNull()
208
+ expect(result.start.get('year')).toBe(2012)
209
+ expect(result.start.get('month')).toBe(7)
210
+ expect(result.start.get('day')).toBe(27)
211
+
212
+ var resultDate = result.start.date();
213
+ var expectDate = new Date(2012, 7-1, 27, 12);
214
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
215
+ }
216
+
217
+ var text = "主な株主(今年11月27日)";
218
+ var results = chrono.parse(text, new Date(2012,1-1,10));
219
+ expect(results.length).toBe(1)
220
+
221
+ var result = results[0];
222
+ if (result) {
223
+ expect(result.index).toBe(5)
224
+ expect(result.text).toBe('今年11月27日')
225
+
226
+ expect(result.start).not.toBeNull()
227
+ expect(result.start.get('year')).toBe(2012)
228
+ expect(result.start.get('month')).toBe(11)
229
+ expect(result.start.get('day')).toBe(27)
230
+
231
+ var resultDate = result.start.date();
232
+ var expectDate = new Date(2012, 11-1, 27, 12);
233
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
234
+ }
152
235
  });
153
236
 
154
237
 
155
238
  test("Test - Single Expression without year", function() {
156
239
 
157
- testSingleCase(chrono, '7月27日', new Date(2012,8-1,10), (result) => {
158
- expect(result.index).toBe(0);
159
- expect(result.text).toBe('7月27日');
160
-
161
- expect(result.start).not.toBeNull();
162
- expect(result.start.get('year')).toBe(2012);
163
- expect(result.start.get('month')).toBe(7);
164
- expect(result.start.get('day')).toBe(27);
165
-
166
- expect(result.start).toBeDate(new Date(2012, 7-1, 27, 12));
167
- });
168
-
169
- testSingleCase(chrono, '11月27日', new Date(2012,1-1,10), (result) => {
170
- expect(result.index).toBe(0);
171
- expect(result.text).toBe('11月27日');
172
-
173
- expect(result.start).not.toBeNull();
174
- expect(result.start.get('year')).toBe(2011);
175
- expect(result.start.get('month')).toBe(11);
176
- expect(result.start.get('day')).toBe(27);
177
-
178
- expect(result.start).toBeDate(new Date(2011, 11-1, 27, 12));
179
- });
240
+ var text = "7月27日";
241
+ var results = chrono.parse(text, new Date(2012,8-1,10));
242
+ expect(results.length).toBe(1)
243
+
244
+ var result = results[0];
245
+ if (result) {
246
+ expect(result.index).toBe(0)
247
+ expect(result.text).toBe('7月27日')
248
+
249
+ expect(result.start).not.toBeNull()
250
+ expect(result.start.get('year')).toBe(2012)
251
+ expect(result.start.get('month')).toBe(7)
252
+ expect(result.start.get('day')).toBe(27)
253
+
254
+ var resultDate = result.start.date();
255
+ var expectDate = new Date(2012, 7-1, 27, 12);
256
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
257
+ }
258
+
259
+ var text = "11月27日";
260
+ var results = chrono.parse(text, new Date(2012,1-1,10));
261
+ expect(results.length).toBe(1)
262
+
263
+ var result = results[0];
264
+ if (result) {
265
+ expect(result.index).toBe(0)
266
+ expect(result.text).toBe('11月27日')
267
+
268
+ expect(result.start).not.toBeNull()
269
+ expect(result.start.get('year')).toBe(2011)
270
+ expect(result.start.get('month')).toBe(11)
271
+ expect(result.start.get('day')).toBe(27)
272
+
273
+ var resultDate = result.start.date();
274
+ var expectDate = new Date(2011, 11-1, 27, 12);
275
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
276
+ }
180
277
  });
181
278
 
182
279
 
183
280
  test("Test - Range Expression", function() {
184
281
 
185
- testSingleCase(chrono, '2013年12月26日-2014年1月7日', new Date(2012,8-1,10), (result) => {
186
- expect(result.index).toBe(0);
187
- expect(result.text).toBe('2013年12月26日-2014年1月7日');
188
-
189
- expect(result.start).not.toBeNull();
190
- expect(result.start.get('year')).toBe(2013);
191
- expect(result.start.get('month')).toBe(12);
192
- expect(result.start.get('day')).toBe(26);
193
-
194
- expect(result.start).toBeDate(new Date(2013, 12-1, 26, 12));
195
-
196
- expect(result.end).not.toBeNull();
197
- expect(result.end.get('year')).toBe(2014);
198
- expect(result.end.get('month')).toBe(1);
199
- expect(result.end.get('day')).toBe(7);
200
-
201
- expect(result.end).toBeDate(new Date(2014, 1-1, 7, 12));
202
- });
203
-
204
- testSingleCase(chrono, '2013年12月26日ー2014年1月7日', new Date(2012,8-1,10), (result) => {
205
- expect(result.index).toBe(0);
206
- expect(result.text).toBe('2013年12月26日ー2014年1月7日');
207
-
208
- expect(result.start).not.toBeNull();
209
- expect(result.start.get('year')).toBe(2013);
210
- expect(result.start.get('month')).toBe(12);
211
- expect(result.start.get('day')).toBe(26);
212
-
213
- expect(result.start).toBeDate(new Date(2013, 12-1, 26, 12));
214
-
215
- expect(result.end).not.toBeNull();
216
- expect(result.end.get('year')).toBe(2014);
217
- expect(result.end.get('month')).toBe(1);
218
- expect(result.end.get('day')).toBe(7);
219
-
220
- expect(result.end).toBeDate(new Date(2014, 1-1, 7, 12));
221
- });
282
+ var text = "2013年12月26日-2014年1月7日";
283
+ var results = chrono.parse(text, new Date(2012,8-1,10));
284
+ expect(results.length).toBe(1)
285
+
286
+ var result = results[0];
287
+ if (result) {
288
+ expect(result.index).toBe(0)
289
+ expect(result.text).toBe('2013年12月26日-2014年1月7日')
290
+
291
+ expect(result.start).not.toBeNull()
292
+ expect(result.start.get('year')).toBe(2013)
293
+ expect(result.start.get('month')).toBe(12)
294
+ expect(result.start.get('day')).toBe(26)
295
+
296
+ var resultDate = result.start.date();
297
+ var expectDate = new Date(2013, 12-1, 26, 12);
298
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
299
+
300
+ expect(result.end).not.toBeNull()
301
+ expect(result.end.get('year')).toBe(2014)
302
+ expect(result.end.get('month')).toBe(1)
303
+ expect(result.end.get('day')).toBe(7)
304
+
305
+ var resultDate = result.end.date();
306
+ var expectDate = new Date(2014, 1-1, 7, 12);
307
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
308
+ }
309
+
310
+ var text = "2013年12月26日ー2014年1月7日";
311
+ var results = chrono.parse(text, new Date(2012,8-1,10));
312
+ expect(results.length).toBe(1)
313
+
314
+ var result = results[0];
315
+ if (result) {
316
+ expect(result.index).toBe(0)
317
+ expect(result.text).toBe('2013年12月26日ー201417日')
318
+
319
+ expect(result.start).not.toBeNull()
320
+ expect(result.start.get('year')).toBe(2013)
321
+ expect(result.start.get('month')).toBe(12)
322
+ expect(result.start.get('day')).toBe(26)
323
+
324
+ var resultDate = result.start.date();
325
+ var expectDate = new Date(2013, 12-1, 26, 12);
326
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
327
+
328
+ expect(result.end).not.toBeNull()
329
+ expect(result.end.get('year')).toBe(2014)
330
+ expect(result.end.get('month')).toBe(1)
331
+ expect(result.end.get('day')).toBe(7)
332
+
333
+ var resultDate = result.end.date();
334
+ var expectDate = new Date(2014, 1-1, 7, 12);
335
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
336
+ }
222
337
 
223
338
 
224
339
  });
@@ -1,25 +1,23 @@
1
- import * as chrono from '../../src/chrono';
2
- import { testSingleCase } from '../test_util';
3
-
1
+ const chrono = require('../../src/chrono');
4
2
  test('Test - Random text', function() {
5
3
 
6
- testSingleCase(chrono.nl, 'Datum: 15-mrt-20', (result) => {
7
-
8
- expect(result.index).toBe(7);
9
- expect(result.text).toBe('15-mrt-20');
10
- expect(result.start.get('day')).toBe(15);
11
- expect(result.start.get('month')).toBe(3);
12
- expect(result.start.get('year')).toBe(2020);
13
- });
14
-
4
+ let text = "Datum: 15-mrt-20";
5
+ let results = chrono.nl.parse(text);
6
+ expect(results.length).toBe(1);
7
+ expect(results[0].index).toBe(7);
8
+ // expect(results[0].text).toBe('15-mrt-2020');
9
+ expect(results[0].start.get('day')).toBe(15);
10
+ expect(results[0].start.get('month')).toBe(3);
11
+ expect(results[0].start.get('year')).toBe(2020);
15
12
 
16
- testSingleCase(chrono.nl, '9:00 tot 17:00, dinsdag 20 mei 2013', (result) => {
17
13
 
18
- expect(result.start.get('hour')).toBe(9);
19
- expect(result.end.get('hour')).toBe(17);
20
- expect(result.end.get('meridiem')).toBe(1);
21
- expect(result.end.get('day')).toBe(20);
22
- expect(result.end.get('month')).toBe(5);
23
- expect(result.end.get('year')).toBe(2013);
24
- });
14
+ text = "9:00 tot 17:00, dinsdag 20 mei 2013";
15
+ results = chrono.nl.parse(text);
16
+ expect(results.length).toBe(1);
17
+ expect(results[0].start.get('hour')).toBe(9);
18
+ expect(results[0].end.get('hour')).toBe(17);
19
+ expect(results[0].end.get('meridiem')).toBe(1);
20
+ expect(results[0].end.get('day')).toBe(20);
21
+ expect(results[0].end.get('month')).toBe(5);
22
+ expect(results[0].end.get('year')).toBe(2013);
25
23
  });