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,9 +1,14 @@
1
- import * as chrono from '../../src/chrono';
2
- import { testSingleCase, testUnexpectedResult } from '../test_util';
1
+ var chrono = require('../../src/chrono');
3
2
 
4
3
  test("Test - Single Expression", function() {
5
4
 
6
- testSingleCase(chrono.de, 'Genau in 5 Tagen müssen wir etwas unternehmen.', new Date(2012,7,10), (result) => {
5
+ var text = "Genau in 5 Tagen müssen wir etwas unternehmen.";
6
+ var results = chrono.de.parse(text, new Date(2012,7,10));
7
+
8
+ expect(results.length).toBe(1);
9
+
10
+ var result = results[0];
11
+ if(result){
7
12
  expect(result.index).toBe(6);
8
13
  expect(result.text).toBe('in 5 Tagen');
9
14
 
@@ -12,12 +17,19 @@ test("Test - Single Expression", function() {
12
17
  expect(result.start.get('month')).toBe(8);
13
18
  expect(result.start.get('day')).toBe(15);
14
19
 
15
- expect(result.start).toBeDate(new Date(2012, 8-1, 15, 12));
16
- });
20
+ var resultDate = result.start.date();
21
+ var expectDate = new Date(2012, 8-1, 15, 12);
22
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
23
+ }
17
24
 
18
25
 
19
26
 
20
- testSingleCase(chrono.de, 'Wir müssen in fünf Tagen etwas unternehmen.', new Date(2012,7,10), (result) => {
27
+ var text = "Wir müssen in fünf Tagen etwas unternehmen.";
28
+ var results = chrono.de.parse(text, new Date(2012,7,10));
29
+ expect(results.length).toBe(1);
30
+
31
+ var result = results[0];
32
+ if(result){
21
33
  expect(result.index).toBe(11);
22
34
  expect(result.text).toBe('in fünf Tagen');
23
35
 
@@ -26,103 +38,189 @@ test("Test - Single Expression", function() {
26
38
  expect(result.start.get('month')).toBe(8);
27
39
  expect(result.start.get('day')).toBe(15);
28
40
 
29
- expect(result.start).toBeDate(new Date(2012, 8-1, 15, 12));
30
- });
41
+ var resultDate = result.start.date();
42
+ var expectDate = new Date(2012, 8-1, 15, 12);
43
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
44
+ }
45
+
31
46
 
47
+ var text = "in 5 Minuten";
48
+ var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
49
+ expect(results.length).toBe(1);
32
50
 
33
- testSingleCase(chrono.de, 'in 5 Minuten', new Date(2012,7,10,12,14), (result) => {
51
+ var result = results[0];
52
+ if(result){
34
53
  expect(result.index).toBe(0);
35
54
  expect(result.text).toBe('in 5 Minuten');
36
55
 
37
- expect(result.start).toBeDate(new Date(2012,7,10,12,19));
38
- });
56
+ var resultDate = result.start.date();
57
+ var expectDate = new Date(2012,7,10,12,19);
58
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
59
+ }
39
60
 
40
- testSingleCase(chrono.de, 'In 1 Stunde', new Date(2012,7,10,12,14), (result) => {
61
+ var text = "In 1 Stunde";
62
+ var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
63
+ expect(results.length).toBe(1);
64
+
65
+ var result = results[0];
66
+ if(result){
41
67
  expect(result.index).toBe(0);
42
68
  expect(result.text).toBe('In 1 Stunde');
43
69
 
44
- expect(result.start).toBeDate(new Date(2012,7,10,13,14));
45
- });
70
+ var resultDate = result.start.date();
71
+ var expectDate = new Date(2012,7,10,13,14);
72
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
73
+ }
74
+
75
+ var text = "In 5 Minuten gehe ich nach Hause";
76
+ var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
77
+ expect(results.length).toBe(1);
46
78
 
47
- testSingleCase(chrono.de, 'In 5 Minuten gehe ich nach Hause', new Date(2012,7,10,12,14), (result) => {
79
+ var result = results[0];
80
+ if(result){
48
81
  expect(result.index).toBe(0);
49
82
  expect(result.text).toBe('In 5 Minuten');
50
83
 
51
- expect(result.start).toBeDate(new Date(2012,7,10,12,19));
52
- });
84
+ var resultDate = result.start.date();
85
+ var expectDate = new Date(2012,7,10,12,19);
86
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
87
+ }
53
88
 
54
89
 
55
- testSingleCase(chrono.de, 'In 5 Minuten muss ein Auto umgestellt werden', new Date(2012,7,10,12,14), (result) => {
90
+ var text = "In 5 Minuten muss ein Auto umgestellt werden";
91
+ var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
92
+ expect(results.length).toBe(1);
93
+
94
+ var result = results[0];
95
+ if(result){
56
96
  expect(result.index).toBe(0);
57
97
  expect(result.text).toBe('In 5 Minuten');
58
98
 
59
- expect(result.start).toBeDate(new Date(2012,7,10,12,19));
60
- });
99
+ var resultDate = result.start.date();
100
+ var expectDate = new Date(2012,7,10,12,19);
101
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
102
+ }
103
+
61
104
 
105
+ var text = "In 5 Sekunden wird es zu schneien beginnen";
106
+ var results = chrono.de.parse(text, new Date(2012,7, 10, 12, 14));
107
+ expect(results.length).toBe(1);
62
108
 
63
- testSingleCase(chrono.de, 'In 5 Sekunden wird es zu schneien beginnen', new Date(2012,7, 10, 12, 14), (result) => {
109
+ var result = results[0];
110
+ if(result){
64
111
  expect(result.index).toBe(0);
65
112
  expect(result.text).toBe('In 5 Sekunden');
66
113
 
67
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 14, 5));
68
- });
114
+ var resultDate = result.start.date();
115
+ var expectDate = new Date(2012, 7, 10, 12, 14, 5);
116
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
117
+ }
69
118
 
70
119
 
71
- testSingleCase(chrono.de, 'in einer halben Stunde', new Date(2012,7,10,12,14), (result) => {
120
+ var text = "in einer halben Stunde";
121
+ var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
122
+ expect(results.length).toBe(1);
123
+
124
+ var result = results[0];
125
+ if(result){
72
126
  expect(result.index).toBe(0);
73
127
  expect(result.text).toBe('in einer halben Stunde');
74
128
 
75
- expect(result.start).toBeDate(new Date(2012,7,10,12,44));
76
- });
129
+ var resultDate = result.start.date();
130
+ var expectDate = new Date(2012,7,10,12,44);
131
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
132
+ }
133
+
77
134
 
135
+ var text = "in zwei Wochen";
136
+ var results = chrono.de.parse(text, new Date(2012, 7, 10, 12, 14));
137
+ expect(results.length).toBe(1);
78
138
 
79
- testSingleCase(chrono.de, 'in zwei Wochen', new Date(2012, 7, 10, 12, 14), (result) => {
139
+ var result = results[0];
140
+ if(result){
80
141
  expect(result.index).toBe(0);
81
142
  expect(result.text).toBe('in zwei Wochen');
82
143
 
83
- expect(result.start).toBeDate(new Date(2012, 7, 24, 12));
84
- });
144
+ var resultDate = result.start.date();
145
+ var expectDate = new Date(2012, 7, 24, 12);
146
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
147
+ }
85
148
 
86
149
 
87
- testSingleCase(chrono.de, 'in einem Monat', new Date(2012, 7, 10, 12, 14), (result) => {
150
+ var text = "in einem Monat";
151
+ var results = chrono.de.parse(text, new Date(2012, 7, 10, 12, 14));
152
+ expect(results.length).toBe(1);
153
+
154
+ var result = results[0];
155
+ if(result){
88
156
  expect(result.index).toBe(0);
89
157
  expect(result.text).toBe('in einem Monat');
90
158
 
91
- expect(result.start).toBeDate(new Date(2012, 8, 10, 12));
92
- });
159
+ var resultDate = result.start.date();
160
+ var expectDate = new Date(2012, 8, 10, 12);
161
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
162
+ }
163
+
93
164
 
165
+ var text = "in einigen Monaten";
166
+ var results = chrono.de.parse(text, new Date(2012, 7, 10, 12, 14));
167
+ expect(results.length).toBe(1);
94
168
 
95
- testSingleCase(chrono.de, 'in einigen Monaten', new Date(2012, 7, 10, 12, 14), (result) => {
169
+ var result = results[0];
170
+ if(result){
96
171
  expect(result.index).toBe(0);
97
172
  expect(result.text).toBe('in einigen Monaten');
98
173
 
99
- expect(result.start).toBeDate(new Date(2012, 10, 10, 12));
100
- });
174
+ var resultDate = result.start.date();
175
+ var expectDate = new Date(2012, 10, 10, 12);
176
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
177
+ }
101
178
 
102
179
 
103
- testSingleCase(chrono.de, 'in einem Jahr', new Date(2012, 7, 10, 12, 14), (result) => {
180
+ var text = "in einem Jahr";
181
+ var results = chrono.de.parse(text, new Date(2012, 7, 10, 12, 14));
182
+ expect(results.length).toBe(1);
183
+
184
+ var result = results[0];
185
+ if(result){
104
186
  expect(result.index).toBe(0);
105
187
  expect(result.text).toBe('in einem Jahr');
106
188
 
107
- expect(result.start).toBeDate(new Date(2013, 7, 10, 12));
108
- });
189
+ var resultDate = result.start.date();
190
+ var expectDate = new Date(2013, 7, 10, 12);
191
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
192
+ }
193
+
109
194
 
195
+ var text = "In Einem jahr";
196
+ var results = chrono.de.parse(text, new Date(2012, 7, 10, 12, 14));
197
+ expect(results.length).toBe(1);
110
198
 
111
- testSingleCase(chrono.de, 'In Einem jahr', new Date(2012, 7, 10, 12, 14), (result) => {
199
+ var result = results[0];
200
+ if(result){
112
201
  expect(result.index).toBe(0);
113
202
  expect(result.text).toBe('In Einem jahr');
114
203
 
115
- expect(result.start).toBeDate(new Date(2013, 7, 10, 12));
116
- });
204
+ var resultDate = result.start.date();
205
+ var expectDate = new Date(2013, 7, 10, 12);
206
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
207
+ }
208
+
117
209
 
118
210
 
211
+ var text = "In 5 min kommt der Weihnachstmann";
212
+ var results = chrono.de.parse(text, new Date(2012,7,10,12,14));
213
+ expect(results.length).toBe(1);
119
214
 
120
- testSingleCase(chrono.de, 'In 5 min kommt der Weihnachstmann', new Date(2012,7,10,12,14), (result) => {
215
+ var result = results[0];
216
+ if(result){
121
217
  expect(result.index).toBe(0);
122
218
  expect(result.text).toBe('In 5 min');
123
219
 
124
- expect(result.start).toBeDate(new Date(2012,7,10,12,19));
125
- });
220
+ var resultDate = result.start.date();
221
+ var expectDate = new Date(2012,7,10,12,19);
222
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
223
+ }
126
224
 
127
225
 
128
226
  });
@@ -130,11 +228,17 @@ test("Test - Single Expression", function() {
130
228
 
131
229
  test("Test - Single Expression (Strict)", function() {
132
230
 
133
- testUnexpectedResult(chrono.strict, 'in einem Jahr', new Date(2012,7,10,12,14));
231
+ var text = "in einem Jahr";
232
+ var results = chrono.strict.parse(text, new Date(2012,7,10,12,14));
233
+ expect(results.length).toBe(0);
134
234
 
135
235
 
136
- testUnexpectedResult(chrono.strict, 'in einigen Monaten', new Date(2012, 8-1, 3))
236
+ var text = "in einigen Monaten";
237
+ var results = chrono.strict.parse(text, new Date(2012, 8-1, 3));
238
+ expect(results.length).toBe(0)
137
239
 
138
240
 
139
- testUnexpectedResult(chrono.strict, 'in einigen Tagen', new Date(2012, 8-1, 3))
241
+ var text = "in einigen Tagen";
242
+ var results = chrono.strict.parse(text, new Date(2012, 8-1, 3));
243
+ expect(results.length).toBe(0)
140
244
  });