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
@@ -3,177 +3,158 @@ import { testSingleCase } from '../test_util';
3
3
 
4
4
  test("Test - Single Expression", function() {
5
5
 
6
- testSingleCase(chrono, 'this week', new Date(2017, 11-1, 19), (result, text) => {
7
-
8
- expect(result.text).toBe(text);
9
- expect(result.start.get('year')).toBe(2017);
10
- expect(result.start.get('month')).toBe(11);
11
- expect(result.start.get('day')).toBe(19);
12
- expect(result.start.get('hour')).toBe(12);
13
- });
14
-
15
- testSingleCase(chrono, 'this month', new Date(2017, 11-1, 19), (result, text) => {
16
-
17
- expect(result.text).toBe(text);
18
- expect(result.start.get('year')).toBe(2017);
19
- expect(result.start.get('month')).toBe(11);
20
- expect(result.start.get('day')).toBe(1);
21
- expect(result.start.get('hour')).toBe(12);
22
- });
23
-
24
- testSingleCase(chrono, 'this month', new Date(2017, 11-1, 1), (result, text) => {
25
-
26
- expect(result.text).toBe(text);
27
- expect(result.start.get('year')).toBe(2017);
28
- expect(result.start.get('month')).toBe(11);
29
- expect(result.start.get('day')).toBe(1);
30
- expect(result.start.get('hour')).toBe(12);
31
- });
32
-
33
- testSingleCase(chrono, 'this year', new Date(2017, 11-1, 19), (result, text) => {
34
-
35
- expect(result.text).toBe(text);
36
- expect(result.start.get('year')).toBe(2017);
37
- expect(result.start.get('month')).toBe(1);
38
- expect(result.start.get('day')).toBe(1);
39
- expect(result.start.get('hour')).toBe(12);
40
- });
41
-
42
-
43
- testSingleCase(chrono, 'next week', new Date(2016, 10-1, 1), (result, text) => {
44
-
45
- expect(result.text).toBe(text);
46
- expect(result.start.get('year')).toBe(2016);
47
- expect(result.start.get('month')).toBe(10);
48
- expect(result.start.get('day')).toBe(8);
49
- expect(result.start.get('hour')).toBe(12);
50
- });
51
-
52
- testSingleCase(chrono, 'next 2 weeks', new Date(2016, 10-1, 1), (result, text) => {
53
-
54
- expect(result.text).toBe(text);
55
- expect(result.start.get('year')).toBe(2016);
56
- expect(result.start.get('month')).toBe(10);
57
- expect(result.start.get('day')).toBe(15);
58
- expect(result.start.get('hour')).toBe(12);
59
- });
60
-
61
- testSingleCase(chrono, 'last week', new Date(2016, 10-1, 1), (result, text) => {
62
-
63
- expect(result.text).toBe(text);
64
- expect(result.start.get('year')).toBe(2016);
65
- expect(result.start.get('month')).toBe(9);
66
- expect(result.start.get('day')).toBe(24);
67
- expect(result.start.get('hour')).toBe(12);
68
- });
69
-
70
- testSingleCase(chrono, 'last 2 weeks', new Date(2016, 10-1, 1), (result, text) => {
71
-
72
- expect(result.text).toBe(text);
73
- expect(result.start.get('year')).toBe(2016);
74
- expect(result.start.get('month')).toBe(9);
75
- expect(result.start.get('day')).toBe(17);
76
- expect(result.start.get('hour')).toBe(12);
77
- });
78
-
79
- testSingleCase(chrono, 'next day', new Date(2016, 10-1, 1), (result, text) => {
80
-
81
- expect(result.text).toBe(text);
82
- expect(result.start.get('year')).toBe(2016);
83
- expect(result.start.get('month')).toBe(10);
84
- expect(result.start.get('day')).toBe(2);
85
- expect(result.start.get('hour')).toBe(12);
86
- });
87
-
88
- testSingleCase(chrono, 'next 2 days', new Date(2016, 10-1, 1), (result, text) => {
89
-
90
- expect(result.text).toBe(text);
91
- expect(result.start.get('year')).toBe(2016);
92
- expect(result.start.get('month')).toBe(10);
93
- expect(result.start.get('day')).toBe(3);
94
- expect(result.start.get('hour')).toBe(12);
95
- });
96
-
97
- testSingleCase(chrono, 'last day', new Date(2016, 10-1, 1), (result, text) => {
98
-
99
- expect(result.text).toBe(text);
100
- expect(result.start.get('year')).toBe(2016);
101
- expect(result.start.get('month')).toBe(9);
102
- expect(result.start.get('day')).toBe(30);
103
- expect(result.start.get('hour')).toBe(12);
104
- });
105
-
106
- testSingleCase(chrono, 'last 2 days', new Date(2016, 10-1, 1), (result, text) => {
107
-
108
- expect(result.text).toBe(text);
109
- expect(result.start.get('year')).toBe(2016);
110
- expect(result.start.get('month')).toBe(9);
111
- expect(result.start.get('day')).toBe(29);
112
- expect(result.start.get('hour')).toBe(12);
113
- });
114
-
115
- testSingleCase(chrono, 'next month', new Date(2016, 10-1, 1), (result, text) => {
116
-
117
- expect(result.text).toBe(text);
118
- expect(result.start.get('year')).toBe(2016);
119
- expect(result.start.get('month')).toBe(11);
120
- expect(result.start.get('day')).toBe(1);
121
- expect(result.start.get('hour')).toBe(12);
122
- });
123
-
124
- testSingleCase(chrono, 'next 2 months', new Date(2016, 10-1, 1), (result, text) => {
125
-
126
- expect(result.text).toBe(text);
127
- expect(result.start.get('year')).toBe(2016);
128
- expect(result.start.get('month')).toBe(12);
129
- expect(result.start.get('day')).toBe(1);
130
- expect(result.start.get('hour')).toBe(12);
131
- });
132
-
133
- testSingleCase(chrono, 'last month', new Date(2016, 10-1, 1), (result, text) => {
134
-
135
- expect(result.text).toBe(text);
136
- expect(result.start.get('year')).toBe(2016);
137
- expect(result.start.get('month')).toBe(9);
138
- expect(result.start.get('day')).toBe(1);
139
- expect(result.start.get('hour')).toBe(12);
140
- });
141
-
142
- testSingleCase(chrono, 'last 2 months', new Date(2016, 10-1, 1), (result, text) => {
143
-
144
- expect(result.text).toBe(text);
145
- expect(result.start.get('year')).toBe(2016);
146
- expect(result.start.get('month')).toBe(8);
147
- expect(result.start.get('day')).toBe(1);
148
- expect(result.start.get('hour')).toBe(12);
149
- });
150
-
151
- testSingleCase(chrono, 'next few weeks', new Date(2016, 10-1, 1), (result, text) => {
152
-
153
- expect(result.text).toBe(text);
154
- expect(result.start.get('year')).toBe(2016);
155
- expect(result.start.get('month')).toBe(10);
156
- expect(result.start.get('day')).toBe(22);
157
- expect(result.start.get('hour')).toBe(12);
158
- });
159
-
160
- testSingleCase(chrono, 'next four weeks', new Date(2016, 10-1, 1), (result, text) => {
161
-
162
- expect(result.text).toBe(text);
163
- expect(result.start.get('year')).toBe(2016);
164
- expect(result.start.get('month')).toBe(10);
165
- expect(result.start.get('day')).toBe(29);
166
- expect(result.start.get('hour')).toBe(12);
167
- });
168
-
169
- testSingleCase(chrono, 'past week', new Date(2016, 10-1, 1), (result, text) => {
170
-
171
- expect(result.text).toBe(text);
172
- expect(result.start.get('year')).toBe(2016);
173
- expect(result.start.get('month')).toBe(9);
174
- expect(result.start.get('day')).toBe(24);
175
- expect(result.start.get('hour')).toBe(12);
176
- });
6
+ var text = "this week";
7
+ var result = chrono.parse(text, new Date(2017, 11-1, 19))[0];
8
+ expect(result.text).toBe(text);
9
+ expect(result.start.get('year')).toBe(2017);
10
+ expect(result.start.get('month')).toBe(11);
11
+ expect(result.start.get('day')).toBe(19);
12
+ expect(result.start.get('hour')).toBe(12);
13
+
14
+ var text = "this month";
15
+ var result = chrono.parse(text, new Date(2017, 11-1, 19))[0];
16
+ expect(result.text).toBe(text);
17
+ expect(result.start.get('year')).toBe(2017);
18
+ expect(result.start.get('month')).toBe(11);
19
+ expect(result.start.get('day')).toBe(1);
20
+ expect(result.start.get('hour')).toBe(12);
21
+
22
+ var text = "this month";
23
+ var result = chrono.parse(text, new Date(2017, 11-1, 1))[0];
24
+ expect(result.text).toBe(text);
25
+ expect(result.start.get('year')).toBe(2017);
26
+ expect(result.start.get('month')).toBe(11);
27
+ expect(result.start.get('day')).toBe(1);
28
+ expect(result.start.get('hour')).toBe(12);
29
+
30
+ var text = "this year";
31
+ var result = chrono.parse(text, new Date(2017, 11-1, 19))[0];
32
+ expect(result.text).toBe(text);
33
+ expect(result.start.get('year')).toBe(2017);
34
+ expect(result.start.get('month')).toBe(1);
35
+ expect(result.start.get('day')).toBe(1);
36
+ expect(result.start.get('hour')).toBe(12);
37
+
38
+
39
+ var text = "next week";
40
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
41
+ expect(result.text).toBe(text);
42
+ expect(result.start.get('year')).toBe(2016);
43
+ expect(result.start.get('month')).toBe(10);
44
+ expect(result.start.get('day')).toBe(8);
45
+ expect(result.start.get('hour')).toBe(12);
46
+
47
+ var text = "next 2 weeks";
48
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
49
+ expect(result.text).toBe(text);
50
+ expect(result.start.get('year')).toBe(2016);
51
+ expect(result.start.get('month')).toBe(10);
52
+ expect(result.start.get('day')).toBe(15);
53
+ expect(result.start.get('hour')).toBe(12);
54
+
55
+ var text = "last week";
56
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
57
+ expect(result.text).toBe(text);
58
+ expect(result.start.get('year')).toBe(2016);
59
+ expect(result.start.get('month')).toBe(9);
60
+ expect(result.start.get('day')).toBe(24);
61
+ expect(result.start.get('hour')).toBe(12);
62
+
63
+ var text = "last 2 weeks";
64
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
65
+ expect(result.text).toBe(text);
66
+ expect(result.start.get('year')).toBe(2016);
67
+ expect(result.start.get('month')).toBe(9);
68
+ expect(result.start.get('day')).toBe(17);
69
+ expect(result.start.get('hour')).toBe(12);
70
+
71
+ var text = "next day";
72
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
73
+ expect(result.text).toBe(text);
74
+ expect(result.start.get('year')).toBe(2016);
75
+ expect(result.start.get('month')).toBe(10);
76
+ expect(result.start.get('day')).toBe(2);
77
+ expect(result.start.get('hour')).toBe(12);
78
+
79
+ var text = "next 2 days";
80
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
81
+ expect(result.text).toBe(text);
82
+ expect(result.start.get('year')).toBe(2016);
83
+ expect(result.start.get('month')).toBe(10);
84
+ expect(result.start.get('day')).toBe(3);
85
+ expect(result.start.get('hour')).toBe(12);
86
+
87
+ var text = "last day";
88
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
89
+ expect(result.text).toBe(text);
90
+ expect(result.start.get('year')).toBe(2016);
91
+ expect(result.start.get('month')).toBe(9);
92
+ expect(result.start.get('day')).toBe(30);
93
+ expect(result.start.get('hour')).toBe(12);
94
+
95
+ var text = "last 2 days";
96
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
97
+ expect(result.text).toBe(text);
98
+ expect(result.start.get('year')).toBe(2016);
99
+ expect(result.start.get('month')).toBe(9);
100
+ expect(result.start.get('day')).toBe(29);
101
+ expect(result.start.get('hour')).toBe(12);
102
+
103
+ var text = "next month";
104
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
105
+ expect(result.text).toBe(text);
106
+ expect(result.start.get('year')).toBe(2016);
107
+ expect(result.start.get('month')).toBe(11);
108
+ expect(result.start.get('day')).toBe(1);
109
+ expect(result.start.get('hour')).toBe(12);
110
+
111
+ var text = "next 2 months";
112
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
113
+ expect(result.text).toBe(text);
114
+ expect(result.start.get('year')).toBe(2016);
115
+ expect(result.start.get('month')).toBe(12);
116
+ expect(result.start.get('day')).toBe(1);
117
+ expect(result.start.get('hour')).toBe(12);
118
+
119
+ var text = "last month";
120
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
121
+ expect(result.text).toBe(text);
122
+ expect(result.start.get('year')).toBe(2016);
123
+ expect(result.start.get('month')).toBe(9);
124
+ expect(result.start.get('day')).toBe(1);
125
+ expect(result.start.get('hour')).toBe(12);
126
+
127
+ var text = "last 2 months";
128
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
129
+ expect(result.text).toBe(text);
130
+ expect(result.start.get('year')).toBe(2016);
131
+ expect(result.start.get('month')).toBe(8);
132
+ expect(result.start.get('day')).toBe(1);
133
+ expect(result.start.get('hour')).toBe(12);
134
+
135
+ var text = "next few weeks";
136
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
137
+ expect(result.text).toBe(text);
138
+ expect(result.start.get('year')).toBe(2016);
139
+ expect(result.start.get('month')).toBe(10);
140
+ expect(result.start.get('day')).toBe(22);
141
+ expect(result.start.get('hour')).toBe(12);
142
+
143
+ var text = "next four weeks";
144
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
145
+ expect(result.text).toBe(text);
146
+ expect(result.start.get('year')).toBe(2016);
147
+ expect(result.start.get('month')).toBe(10);
148
+ expect(result.start.get('day')).toBe(29);
149
+ expect(result.start.get('hour')).toBe(12);
150
+
151
+ var text = "past week";
152
+ var result = chrono.parse(text, new Date(2016, 10-1, 1))[0];
153
+ expect(result.text).toBe(text);
154
+ expect(result.start.get('year')).toBe(2016);
155
+ expect(result.start.get('month')).toBe(9);
156
+ expect(result.start.get('day')).toBe(24);
157
+ expect(result.start.get('hour')).toBe(12);
177
158
 
178
159
  testSingleCase(chrono.en, 'next week at 10-06-2016', new Date(2016, 10-1, 1), (result) => {
179
160
  expect(result.text).toBe('next week at 10-06-2016');
@@ -216,6 +197,8 @@ test("Test - Single Expression", function() {
216
197
  expect(result.index).toBe(23)
217
198
  expect(result.text).toBe('next year (July 2013')
218
199
 
219
- expect(result.start).toBeDate(new Date(2013, 7-1, 1, 12));
200
+ var resultDate = result.start.date();
201
+ var expectDate = new Date(2013, 7-1, 1, 12);
202
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
220
203
  });
221
204
  });