chrono-node 2.9.2 → 2.10.0

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 (142) hide show
  1. package/dist/cjs/results.js +15 -9
  2. package/dist/cjs/results.js.map +1 -1
  3. package/dist/esm/results.js +14 -9
  4. package/dist/esm/results.js.map +1 -1
  5. package/package.json +5 -1
  6. package/src/results.ts +40 -9
  7. package/test/calculation_duration.test.ts +0 -165
  8. package/test/calculation_weekdays.test.ts +0 -133
  9. package/test/de/de_casual.test.ts +0 -336
  10. package/test/de/de_dash.test.ts +0 -32
  11. package/test/de/de_month_name_little_endian.test.ts +0 -273
  12. package/test/de/de_time_exp.test.ts +0 -223
  13. package/test/de/de_time_units_casual_relative.test.ts +0 -120
  14. package/test/de/de_time_units_within.test.ts +0 -119
  15. package/test/de/de_weekday.test.ts +0 -158
  16. package/test/de/de_year.test.ts +0 -147
  17. package/test/debugging.test.ts +0 -17
  18. package/test/en/en.test.ts +0 -191
  19. package/test/en/en_casual.test.ts +0 -425
  20. package/test/en/en_inter_std.test.ts +0 -118
  21. package/test/en/en_merging_relative_dates.test.ts +0 -50
  22. package/test/en/en_month.test.ts +0 -339
  23. package/test/en/en_month_name_little_endian.test.ts +0 -448
  24. package/test/en/en_month_name_middle_endian.test.ts +0 -386
  25. package/test/en/en_performance.test.ts +0 -26
  26. package/test/en/en_relative.test.ts +0 -393
  27. package/test/en/en_slash.test.ts +0 -284
  28. package/test/en/en_time_exp.test.ts +0 -535
  29. package/test/en/en_time_units_ago.test.ts +0 -357
  30. package/test/en/en_time_units_casual_relative.test.ts +0 -186
  31. package/test/en/en_time_units_later.test.ts +0 -361
  32. package/test/en/en_time_units_within.test.ts +0 -417
  33. package/test/en/en_timezone_exp.test.ts +0 -410
  34. package/test/en/en_weekday.test.ts +0 -573
  35. package/test/en/en_year.test.ts +0 -138
  36. package/test/en/en_year_month_day.test.ts +0 -101
  37. package/test/en/negative_cases.test.ts +0 -99
  38. package/test/es/es_casual.test.ts +0 -175
  39. package/test/es/es_month_name_little_endian.test.ts +0 -217
  40. package/test/es/es_slash.test.ts +0 -26
  41. package/test/es/es_time_exp.test.ts +0 -175
  42. package/test/es/es_time_units_within.test.ts +0 -119
  43. package/test/fi/fi_casual.test.ts +0 -99
  44. package/test/fi/fi_casual_time.test.ts +0 -56
  45. package/test/fi/fi_month_name_little_endian.test.ts +0 -50
  46. package/test/fi/fi_time_exp.test.ts +0 -39
  47. package/test/fi/fi_time_units_ago.test.ts +0 -93
  48. package/test/fi/fi_time_units_casual_relative.test.ts +0 -117
  49. package/test/fi/fi_time_units_within.test.ts +0 -74
  50. package/test/fi/fi_weekday.test.ts +0 -90
  51. package/test/fr/fr_casual.test.ts +0 -314
  52. package/test/fr/fr_little_endian.test.ts +0 -320
  53. package/test/fr/fr_slash.test.ts +0 -49
  54. package/test/fr/fr_time_exp.test.ts +0 -588
  55. package/test/fr/fr_time_units_ago.test.ts +0 -103
  56. package/test/fr/fr_time_units_casual_relative.test.ts +0 -114
  57. package/test/fr/fr_time_units_within.test.ts +0 -129
  58. package/test/fr/fr_weekday.test.ts +0 -130
  59. package/test/it/it_casual.test.ts +0 -81
  60. package/test/it/it_month_name_little_endian.test.ts +0 -28
  61. package/test/it/it_month_name_middle_endian.test.ts +0 -39
  62. package/test/it/it_time_exp.test.ts +0 -84
  63. package/test/it/it_weekday.test.ts +0 -37
  64. package/test/it/it_year_month_day.test.ts +0 -41
  65. package/test/ja/ja_casual.test.ts +0 -73
  66. package/test/ja/ja_slash_date_format.test.ts +0 -60
  67. package/test/ja/ja_standard.test.ts +0 -235
  68. package/test/ja/ja_time_exp.test.ts +0 -305
  69. package/test/ja/ja_weekday.test.ts +0 -183
  70. package/test/nl/nl_casual.test.ts +0 -408
  71. package/test/nl/nl_month.test.ts +0 -205
  72. package/test/nl/nl_month_name_little_endian.test.ts +0 -358
  73. package/test/nl/nl_relative.test.ts +0 -242
  74. package/test/nl/nl_slash.test.ts +0 -206
  75. package/test/nl/nl_time_exp.test.ts +0 -79
  76. package/test/nl/nl_time_units_ago.test.ts +0 -243
  77. package/test/nl/nl_time_units_casual_relative.test.ts +0 -130
  78. package/test/nl/nl_time_units_later.test.ts +0 -250
  79. package/test/nl/nl_time_units_within.test.ts +0 -225
  80. package/test/nl/nl_weekday.test.ts +0 -216
  81. package/test/pt/pt_casual.test.ts +0 -175
  82. package/test/pt/pt_month_name_little_endian.test.ts +0 -217
  83. package/test/pt/pt_slash.test.ts +0 -26
  84. package/test/pt/pt_time_exp.test.ts +0 -175
  85. package/test/result.test.ts +0 -283
  86. package/test/ru/ru_casual.test.ts +0 -159
  87. package/test/ru/ru_month.test.ts +0 -70
  88. package/test/ru/ru_month_name_little_endian.test.ts +0 -145
  89. package/test/ru/ru_relative.test.ts +0 -107
  90. package/test/ru/ru_time_exp.test.ts +0 -111
  91. package/test/ru/ru_time_units_ago.test.ts +0 -48
  92. package/test/ru/ru_time_units_casual_relative.test.ts +0 -190
  93. package/test/ru/ru_time_units_within.test.ts +0 -16
  94. package/test/ru/ru_weekday.test.ts +0 -52
  95. package/test/sv/sv_casual.test.ts +0 -87
  96. package/test/sv/sv_month_name_little_endian.test.ts +0 -48
  97. package/test/sv/sv_time_units_casual_relative.test.ts +0 -143
  98. package/test/sv/sv_weekday.test.ts +0 -68
  99. package/test/system.test.ts +0 -247
  100. package/test/system_timezone.test.ts +0 -284
  101. package/test/test_util.ts +0 -135
  102. package/test/uk/uk_casual.test.ts +0 -153
  103. package/test/uk/uk_month.test.ts +0 -70
  104. package/test/uk/uk_month_name_little_endian.test.ts +0 -148
  105. package/test/uk/uk_relative.test.ts +0 -107
  106. package/test/uk/uk_time_exp.test.ts +0 -111
  107. package/test/uk/uk_time_units_ago.test.ts +0 -48
  108. package/test/uk/uk_time_units_casual_relative.test.ts +0 -142
  109. package/test/uk/uk_time_units_within.test.ts +0 -23
  110. package/test/uk/uk_weekday.test.ts +0 -52
  111. package/test/vi/vi_casual.test.ts +0 -84
  112. package/test/vi/vi_casual_time.test.ts +0 -77
  113. package/test/vi/vi_date_range.test.ts +0 -61
  114. package/test/vi/vi_forward_date.test.ts +0 -45
  115. package/test/vi/vi_month_year.test.ts +0 -40
  116. package/test/vi/vi_negative_cases.test.ts +0 -60
  117. package/test/vi/vi_slash.test.ts +0 -36
  118. package/test/vi/vi_standard.test.ts +0 -86
  119. package/test/vi/vi_strict.test.ts +0 -67
  120. package/test/vi/vi_time_exp.test.ts +0 -99
  121. package/test/vi/vi_time_units_ago.test.ts +0 -56
  122. package/test/vi/vi_time_units_casual_relative.test.ts +0 -56
  123. package/test/vi/vi_time_units_later.test.ts +0 -43
  124. package/test/vi/vi_time_units_within.test.ts +0 -24
  125. package/test/vi/vi_weekday.test.ts +0 -77
  126. package/test/vi/vi_year.test.ts +0 -42
  127. package/test/zh/hans/zh_hans_ago.test.ts +0 -58
  128. package/test/zh/hans/zh_hans_casual.test.ts +0 -242
  129. package/test/zh/hans/zh_hans_date.test.ts +0 -116
  130. package/test/zh/hans/zh_hans_deadline.test.ts +0 -175
  131. package/test/zh/hans/zh_hans_time_exp.test.ts +0 -508
  132. package/test/zh/hans/zh_hans_weekday.test.ts +0 -219
  133. package/test/zh/hant/zh_hant_ago.test.ts +0 -58
  134. package/test/zh/hant/zh_hant_casual.test.ts +0 -260
  135. package/test/zh/hant/zh_hant_date.test.ts +0 -116
  136. package/test/zh/hant/zh_hant_deadline.test.ts +0 -136
  137. package/test/zh/hant/zh_hant_time_exp.test.ts +0 -226
  138. package/test/zh/hant/zh_hant_weekday.test.ts +0 -175
  139. package/test/zh/zh.test.ts +0 -36
  140. package/tsconfig.build.esm.json +0 -8
  141. package/tsconfig.build.json +0 -10
  142. package/tsconfig.json +0 -29
@@ -1,314 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.fr, "La deadline est maintenant", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
6
- expect(result.index).toBe(16);
7
- expect(result.text).toBe("maintenant");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("year")).toBe(2012);
11
- expect(result.start.get("month")).toBe(8);
12
- expect(result.start.get("day")).toBe(10);
13
- expect(result.start.get("hour")).toBe(8);
14
- expect(result.start.get("minute")).toBe(9);
15
- expect(result.start.get("second")).toBe(10);
16
- expect(result.start.get("millisecond")).toBe(11);
17
-
18
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 9, 10, 11));
19
- });
20
-
21
- testSingleCase(chrono.fr, "La deadline est aujourd'hui", new Date(2012, 7, 10, 12), (result) => {
22
- expect(result.index).toBe(16);
23
- expect(result.text).toBe("aujourd'hui");
24
-
25
- expect(result.start).not.toBeNull();
26
- expect(result.start.get("year")).toBe(2012);
27
- expect(result.start.get("month")).toBe(8);
28
- expect(result.start.get("day")).toBe(10);
29
-
30
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
31
- });
32
-
33
- testSingleCase(chrono.fr, "La deadline est demain", new Date(2012, 7, 10, 12), (result) => {
34
- expect(result.index).toBe(16);
35
- expect(result.text).toBe("demain");
36
-
37
- expect(result.start).not.toBeNull();
38
- expect(result.start.get("year")).toBe(2012);
39
- expect(result.start.get("month")).toBe(8);
40
- expect(result.start.get("day")).toBe(11);
41
-
42
- expect(result.start).toBeDate(new Date(2012, 7, 11, 12));
43
- });
44
-
45
- testSingleCase(chrono.fr, "La deadline est demain", new Date(2012, 7, 10, 1), (result) => {
46
- expect(result.start).toBeDate(new Date(2012, 7, 11, 1));
47
- });
48
-
49
- testSingleCase(chrono.fr, "La deadline était hier", new Date(2012, 7, 10, 12), (result) => {
50
- expect(result.index).toBe(18);
51
- expect(result.text).toBe("hier");
52
-
53
- expect(result.start).not.toBeNull();
54
- expect(result.start.get("year")).toBe(2012);
55
- expect(result.start.get("month")).toBe(8);
56
- expect(result.start.get("day")).toBe(9);
57
-
58
- expect(result.start).toBeDate(new Date(2012, 7, 9, 12));
59
- });
60
-
61
- testSingleCase(chrono.fr, "La deadline était la veille", new Date(2012, 7, 10, 12), (result) => {
62
- expect(result.index).toBe(18);
63
- expect(result.text).toBe("la veille");
64
-
65
- expect(result.start).not.toBeNull();
66
- expect(result.start.get("year")).toBe(2012);
67
- expect(result.start.get("month")).toBe(8);
68
- expect(result.start.get("day")).toBe(9);
69
- expect(result.start.get("hour")).toBe(0);
70
-
71
- expect(result.start).toBeDate(new Date(2012, 7, 9, 0));
72
- });
73
-
74
- testSingleCase(chrono.fr, "La deadline est ce matin", new Date(2012, 7, 10, 12), (result) => {
75
- expect(result.index).toBe(16);
76
- expect(result.text).toBe("ce matin");
77
-
78
- expect(result.start).not.toBeNull();
79
- expect(result.start.get("year")).toBe(2012);
80
- expect(result.start.get("month")).toBe(8);
81
- expect(result.start.get("day")).toBe(10);
82
- expect(result.start.get("hour")).toBe(8);
83
-
84
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8));
85
- });
86
-
87
- testSingleCase(chrono.fr, "La deadline est cet après-midi", new Date(2012, 7, 10, 12), (result) => {
88
- expect(result.index).toBe(16);
89
- expect(result.text).toBe("cet après-midi");
90
-
91
- expect(result.start).not.toBeNull();
92
- expect(result.start.get("year")).toBe(2012);
93
- expect(result.start.get("month")).toBe(8);
94
- expect(result.start.get("day")).toBe(10);
95
- expect(result.start.get("hour")).toBe(14);
96
-
97
- expect(result.start).toBeDate(new Date(2012, 7, 10, 14));
98
- });
99
-
100
- testSingleCase(chrono.fr, "La deadline est cet aprem", new Date(2012, 7, 10, 12), (result) => {
101
- expect(result.index).toBe(16);
102
- expect(result.text).toBe("cet aprem");
103
-
104
- expect(result.start).not.toBeNull();
105
- expect(result.start.get("year")).toBe(2012);
106
- expect(result.start.get("month")).toBe(8);
107
- expect(result.start.get("day")).toBe(10);
108
- expect(result.start.get("hour")).toBe(14);
109
-
110
- expect(result.start).toBeDate(new Date(2012, 7, 10, 14));
111
- });
112
-
113
- testSingleCase(chrono.fr, "La deadline est ce soir", new Date(2012, 7, 10, 12), (result) => {
114
- expect(result.index).toBe(16);
115
- expect(result.text).toBe("ce soir");
116
-
117
- expect(result.start).not.toBeNull();
118
- expect(result.start.get("year")).toBe(2012);
119
- expect(result.start.get("month")).toBe(8);
120
- expect(result.start.get("day")).toBe(10);
121
- expect(result.start.get("hour")).toBe(18);
122
-
123
- expect(result.start).toBeDate(new Date(2012, 7, 10, 18));
124
- });
125
-
126
- testSingleCase(chrono.fr, "a midi", (result, text) => {
127
- expect(result.text).toBe(text);
128
- expect(result.start.get("hour")).toBe(12);
129
- });
130
-
131
- testSingleCase(chrono.fr, "à minuit", (result, text) => {
132
- expect(result.text).toBe(text);
133
- expect(result.start.get("hour")).toBe(0);
134
- });
135
-
136
- testSingleCase(chrono.fr, "Du 24 août 2023 au 26 août 2023", (result) => {
137
- expect(result.text).toBe("24 août 2023 au 26 août 2023");
138
- expect(result.start.get("year")).toBe(2023);
139
- expect(result.start.get("month")).toBe(8);
140
- expect(result.start.get("day")).toBe(24);
141
- expect(result.end.get("year")).toBe(2023);
142
- expect(result.end.get("month")).toBe(8);
143
- expect(result.end.get("day")).toBe(26);
144
- });
145
- });
146
-
147
- test("Test - Combined Expression", function () {
148
- testSingleCase(chrono.fr, "La deadline est aujourd'hui 17:00", new Date(2012, 7, 10, 12), (result) => {
149
- expect(result.index).toBe(16);
150
- expect(result.text).toBe("aujourd'hui 17:00");
151
-
152
- expect(result.start).not.toBeNull();
153
- expect(result.start.get("year")).toBe(2012);
154
- expect(result.start.get("month")).toBe(8);
155
- expect(result.start.get("day")).toBe(10);
156
- expect(result.start.get("hour")).toBe(17);
157
-
158
- expect(result.start).toBeDate(new Date(2012, 7, 10, 17));
159
- });
160
-
161
- testSingleCase(chrono.fr, "La deadline est demain 17:00", new Date(2012, 7, 10, 12), (result) => {
162
- expect(result.index).toBe(16);
163
- expect(result.text).toBe("demain 17:00");
164
-
165
- expect(result.start).not.toBeNull();
166
- expect(result.start.get("year")).toBe(2012);
167
- expect(result.start.get("month")).toBe(8);
168
- expect(result.start.get("day")).toBe(11);
169
- expect(result.start.get("hour")).toBe(17);
170
-
171
- expect(result.start).toBeDate(new Date(2012, 7, 11, 17));
172
- });
173
-
174
- testSingleCase(chrono.fr, "La deadline est demain matin 11h", new Date(2012, 7, 10, 12), (result) => {
175
- expect(result.index).toBe(16);
176
- expect(result.text).toBe("demain matin 11h");
177
-
178
- expect(result.start).not.toBeNull();
179
- expect(result.start.get("year")).toBe(2012);
180
- expect(result.start.get("month")).toBe(8);
181
- expect(result.start.get("day")).toBe(11);
182
- expect(result.start.get("hour")).toBe(11);
183
-
184
- expect(result.start).toBeDate(new Date(2012, 7, 11, 11));
185
- });
186
- });
187
-
188
- //
189
- // test('Test - Random text', function() {
190
- //
191
- // var text = "cette nuit";
192
- // var result = chrono.fr.parse(text, new Date(2012, 1-1, 1, 12))[0];
193
- // expect(result.text).toBe(text);
194
- // expect(result.start.get('year')).toBe(2012);
195
- // expect(result.start.get('month')).toBe(1);
196
- // expect(result.start.get('day')).toBe(1);
197
- // expect(result.start.get('hour')).toBe(22);
198
- // expect(result.start.get('meridiem') ).toBe(1);
199
- //
200
- // var text = "ce soir 8pm";
201
- // var result = chrono.fr.parse(text, new Date(2012, 1-1, 1, 12))[0];
202
- // expect(result.text).toBe(text);
203
- // expect(result.start.get('hour') ).toBe(20);
204
- // expect(result.start.get('year') ).toBe(2012);
205
- // expect(result.start.get('month')).toBe(1);
206
- // expect(result.start.get('day') ).toBe(1);
207
- // expect(result.start.get('meridiem') ).toBe(1);
208
- //
209
- // var text = "ce soir 20h";
210
- // var result = chrono.fr.parse(text, new Date(2012, 1-1, 1, 12))[0];
211
- // expect(result.text).toBe(text);
212
- // expect(result.start.get('hour') ).toBe(20);
213
- // expect(result.start.get('year') ).toBe(2012);
214
- // expect(result.start.get('month')).toBe(1);
215
- // expect(result.start.get('day') ).toBe(1);
216
- // expect(result.start.get('meridiem') ).toBe(1);
217
- //
218
- // var text = "ce soir 20:00";
219
- // var result = chrono.fr.parse(text, new Date(2012, 1-1, 1, 12))[0];
220
- // expect(result.text).toBe(text);
221
- // expect(result.start.get('hour') ).toBe(20);
222
- // expect(result.start.get('year') ).toBe(2012);
223
- // expect(result.start.get('month')).toBe(1);
224
- // expect(result.start.get('day') ).toBe(1);
225
- // expect(result.start.get('meridiem') ).toBe(1);
226
- //
227
- // var text = "ce soir 20h00";
228
- // var result = chrono.fr.parse(text, new Date(2012, 1-1, 1, 12))[0];
229
- // expect(result.text).toBe(text);
230
- // expect(result.start.get('hour') ).toBe(20);
231
- // expect(result.start.get('year') ).toBe(2012);
232
- // expect(result.start.get('month')).toBe(1);
233
- // expect(result.start.get('day') ).toBe(1);
234
- // expect(result.start.get('meridiem') ).toBe(1);
235
- //
236
- // var text = "ce soir 20h00m00";
237
- // var result = chrono.fr.parse(text, new Date(2012, 1-1, 1, 12))[0];
238
- // expect(result.text).toBe(text);
239
- // expect(result.start.get('hour') ).toBe(20);
240
- // expect(result.start.get('year') ).toBe(2012);
241
- // expect(result.start.get('month')).toBe(1);
242
- // expect(result.start.get('day') ).toBe(1);
243
- // expect(result.start.get('meridiem') ).toBe(1);
244
- //
245
- // var text = "ce soir 20h00m00s";
246
- // var result = chrono.fr.parse(text, new Date(2012, 1-1, 1, 12))[0];
247
- // expect(result.text).toBe(text);
248
- // expect(result.start.get('hour') ).toBe(20);
249
- // expect(result.start.get('year') ).toBe(2012);
250
- // expect(result.start.get('month')).toBe(1);
251
- // expect(result.start.get('day') ).toBe(1);
252
- // expect(result.start.get('meridiem') ).toBe(1);
253
- //
254
- // var text = "Ce soir à 20h";
255
- // var result = chrono.fr.parse(text, new Date(2012, 1-1, 1, 12))[0];
256
- // expect(result.text).toBe(text);
257
- // expect(result.start.get('hour') ).toBe(20);
258
- // expect(result.start.get('year') ).toBe(2012);
259
- // expect(result.start.get('month')).toBe(1);
260
- // expect(result.start.get('day') ).toBe(1);
261
- // expect(result.start.get('meridiem') ).toBe(1);
262
- //
263
- // var text = "Ce soir a 20h";
264
- // var result = chrono.fr.parse(text, new Date(2012, 1-1, 1, 12))[0];
265
- // expect(result.text).toBe(text);
266
- // expect(result.start.get('hour') ).toBe(20);
267
- // expect(result.start.get('year') ).toBe(2012);
268
- // expect(result.start.get('month')).toBe(1);
269
- // expect(result.start.get('day') ).toBe(1);
270
- // expect(result.start.get('meridiem') ).toBe(1);
271
- //
272
- //
273
- // var text = "jeu";
274
- // var result = chrono.fr.parse(text)[0];
275
- // expect(result.text).toBe(text);
276
- // expect(result.start.get('weekday')).toBe(4);
277
- //
278
- //
279
- // var text = "sam";
280
- // var result = chrono.fr.parse(text)[0];
281
- // expect(result.text).toBe(text);
282
- // expect(result.start.get('weekday')).toBe(6)
283
- // });
284
- //
285
- //
286
- // test('Test - Random negative text', function() {
287
- //
288
- // var text = "pasaujourd'hui";
289
- // var results = chrono.fr.parse(text);
290
- // expect(results.length).toBe(0);
291
- //
292
- // var text = "pashier";
293
- // var results = chrono.fr.parse(text);
294
- // expect(results.length).toBe(0);
295
- //
296
- // var text = "maintenanter";
297
- // var results = chrono.fr.parse(text);
298
- // expect(results.length).toBe(0);
299
- //
300
- // });
301
-
302
- test("Test - Casual time keeps its meridiem when merged with an explicit time", () => {
303
- testSingleCase(chrono.fr, "après-midi à 5", new Date(2016, 7, 10, 12), (result, text) => {
304
- expect(result.text).toBe(text);
305
- expect(result.start.get("hour")).toBe(17);
306
- expect(result.start.get("meridiem")).toBe(1);
307
- });
308
-
309
- testSingleCase(chrono.fr, "soir à 8", new Date(2016, 7, 10, 12), (result, text) => {
310
- expect(result.text).toBe(text);
311
- expect(result.start.get("hour")).toBe(20);
312
- expect(result.start.get("meridiem")).toBe(1);
313
- });
314
- });
@@ -1,320 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase, testUnexpectedResult } from "../test_util";
3
-
4
- test("Test - Single expression", function () {
5
- testSingleCase(chrono.fr, "10 Août 2012", new Date(2012, 7, 10), (result) => {
6
- expect(result.start.get("year")).toBe(2012);
7
- expect(result.start.get("month")).toBe(8);
8
- expect(result.start.get("day")).toBe(10);
9
-
10
- expect(result.index).toBe(0);
11
- expect(result.text).toBe("10 Août 2012");
12
-
13
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
14
- });
15
-
16
- testSingleCase(chrono.fr, "8 Février", new Date(2012, 7, 10), (result) => {
17
- expect(result.start.get("year")).toBe(2013);
18
- expect(result.start.get("month")).toBe(2);
19
- expect(result.start.get("day")).toBe(8);
20
-
21
- expect(result.index).toBe(0);
22
- expect(result.text).toBe("8 Février");
23
-
24
- expect(result.start).toBeDate(new Date(2013, 2 - 1, 8, 12));
25
- });
26
-
27
- testSingleCase(chrono.fr, "1er Août 2012", new Date(2012, 7, 1), (result) => {
28
- expect(result.start.get("year")).toBe(2012);
29
- expect(result.start.get("month")).toBe(8);
30
- expect(result.start.get("day")).toBe(1);
31
-
32
- expect(result.index).toBe(0);
33
- expect(result.text).toBe("1er Août 2012");
34
-
35
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 1, 12));
36
- });
37
-
38
- testSingleCase(chrono.fr, "10 Août 234 AC", new Date(2012, 7, 10), (result) => {
39
- expect(result.index).toBe(0);
40
- expect(result.text).toBe("10 Août 234 AC");
41
-
42
- expect(result.start.get("year")).toBe(-234);
43
- expect(result.start.get("month")).toBe(8);
44
- expect(result.start.get("day")).toBe(10);
45
-
46
- expect(result.start).toBeDate(new Date(-234, 8 - 1, 10, 12));
47
- });
48
-
49
- testSingleCase(chrono.fr, "10 Août 88 p. Chr. n.", new Date(2012, 7, 10), (result) => {
50
- expect(result.index).toBe(0);
51
- expect(result.text).toBe("10 Août 88 p. Chr. n.");
52
-
53
- expect(result.start.get("year")).toBe(88);
54
- expect(result.start.get("month")).toBe(8);
55
- expect(result.start.get("day")).toBe(10);
56
-
57
- const resultDate = result.start.date();
58
- const expectDate = new Date(88, 8 - 1, 10, 12);
59
- expectDate.setFullYear(88);
60
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
61
- });
62
-
63
- testSingleCase(chrono.fr, "Dim 15 Sept", new Date(2013, 7, 10), (result) => {
64
- expect(result.index).toBe(0);
65
- expect(result.text).toBe("Dim 15 Sept");
66
-
67
- expect(result.start.get("year")).toBe(2013);
68
- expect(result.start.get("month")).toBe(9);
69
- expect(result.start.get("day")).toBe(15);
70
-
71
- expect(result.start).toBeDate(new Date(2013, 9 - 1, 15, 12));
72
- });
73
-
74
- testSingleCase(chrono.fr, "DIM 15SEPT", new Date(2013, 7, 10), (result) => {
75
- expect(result.index).toBe(0);
76
- expect(result.text).toBe("DIM 15SEPT");
77
-
78
- expect(result.start.get("year")).toBe(2013);
79
- expect(result.start.get("month")).toBe(9);
80
- expect(result.start.get("day")).toBe(15);
81
-
82
- expect(result.start).toBeDate(new Date(2013, 9 - 1, 15, 12));
83
- });
84
-
85
- testSingleCase(chrono.fr, "La date limite est le 10 Août", new Date(2012, 7, 10), (result) => {
86
- expect(result.index).toBe(22);
87
- expect(result.text).toBe("10 Août");
88
-
89
- expect(result.start.get("year")).toBe(2012);
90
- expect(result.start.get("month")).toBe(8);
91
- expect(result.start.get("day")).toBe(10);
92
-
93
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
94
- });
95
-
96
- testSingleCase(chrono.fr, "La date limite est le Mardi 10 janvier", new Date(2012, 7, 10), (result) => {
97
- expect(result.index).toBe(22);
98
- expect(result.text).toBe("Mardi 10 janvier");
99
-
100
- expect(result.start.get("year")).toBe(2013);
101
- expect(result.start.get("month")).toBe(1);
102
- expect(result.start.get("day")).toBe(10);
103
- expect(result.start.get("weekday")).toBe(2);
104
-
105
- expect(result.start).toBeDate(new Date(2013, 1 - 1, 10, 12));
106
- });
107
-
108
- testSingleCase(chrono.fr, "La date limite est Mar 10 Jan", new Date(2012, 7, 10), (result) => {
109
- expect(result.index).toBe(19);
110
- expect(result.text).toBe("Mar 10 Jan");
111
-
112
- expect(result.start.get("year")).toBe(2013);
113
- expect(result.start.get("month")).toBe(1);
114
- expect(result.start.get("day")).toBe(10);
115
- expect(result.start.get("weekday")).toBe(2);
116
-
117
- expect(result.start).toBeDate(new Date(2013, 1 - 1, 10, 12));
118
- });
119
-
120
- testSingleCase(chrono.fr, "31 mars 2016", new Date(2012, 7, 10), (result) => {
121
- expect(result.index).toBe(0);
122
- expect(result.text).toBe("31 mars 2016");
123
-
124
- expect(result.start.get("year")).toBe(2016);
125
- expect(result.start.get("month")).toBe(3);
126
- expect(result.start.get("day")).toBe(31);
127
-
128
- expect(result.start).toBeDate(new Date(2016, 3 - 1, 31, 12));
129
- });
130
- });
131
-
132
- test("Test - Range expression", function () {
133
- testSingleCase(chrono.fr, "10 - 22 août 2012", new Date(2012, 7, 10), (result) => {
134
- expect(result.index).toBe(0);
135
- expect(result.text).toBe("10 - 22 août 2012");
136
-
137
- expect(result.start.get("year")).toBe(2012);
138
- expect(result.start.get("month")).toBe(8);
139
- expect(result.start.get("day")).toBe(10);
140
-
141
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
142
-
143
- expect(result.end).not.toBeNull();
144
- expect(result.end.get("year")).toBe(2012);
145
- expect(result.end.get("month")).toBe(8);
146
- expect(result.end.get("day")).toBe(22);
147
-
148
- expect(result.end).toBeDate(new Date(2012, 8 - 1, 22, 12));
149
- });
150
-
151
- testSingleCase(chrono.fr, "10 au 22 août 2012", new Date(2012, 7, 10), (result) => {
152
- expect(result.index).toBe(0);
153
- expect(result.text).toBe("10 au 22 août 2012");
154
-
155
- expect(result.start.get("year")).toBe(2012);
156
- expect(result.start.get("month")).toBe(8);
157
- expect(result.start.get("day")).toBe(10);
158
-
159
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
160
-
161
- expect(result.end).not.toBeNull();
162
- expect(result.end.get("year")).toBe(2012);
163
- expect(result.end.get("month")).toBe(8);
164
- expect(result.end.get("day")).toBe(22);
165
-
166
- expect(result.end).toBeDate(new Date(2012, 8 - 1, 22, 12));
167
- });
168
-
169
- testSingleCase(chrono.fr, "10 août - 12 septembre", new Date(2012, 7, 10), (result) => {
170
- expect(result.index).toBe(0);
171
- expect(result.text).toBe("10 août - 12 septembre");
172
-
173
- expect(result.start.get("year")).toBe(2012);
174
- expect(result.start.get("month")).toBe(8);
175
- expect(result.start.get("day")).toBe(10);
176
-
177
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
178
-
179
- expect(result.end).not.toBeNull();
180
- expect(result.end.get("year")).toBe(2012);
181
- expect(result.end.get("month")).toBe(9);
182
- expect(result.end.get("day")).toBe(12);
183
-
184
- expect(result.end).toBeDate(new Date(2012, 9 - 1, 12, 12));
185
- });
186
-
187
- testSingleCase(chrono.fr, "10 août - 12 septembre 2013", new Date(2012, 7, 10), (result) => {
188
- expect(result.index).toBe(0);
189
- expect(result.text).toBe("10 août - 12 septembre 2013");
190
-
191
- expect(result.start.get("year")).toBe(2013);
192
- expect(result.start.get("month")).toBe(8);
193
- expect(result.start.get("day")).toBe(10);
194
-
195
- expect(result.start).toBeDate(new Date(2013, 8 - 1, 10, 12));
196
-
197
- expect(result.end).not.toBeNull();
198
- expect(result.end.get("year")).toBe(2013);
199
- expect(result.end.get("month")).toBe(9);
200
- expect(result.end.get("day")).toBe(12);
201
-
202
- expect(result.end).toBeDate(new Date(2013, 9 - 1, 12, 12));
203
- });
204
- });
205
-
206
- test("Test - Date/Time combined expression", function () {
207
- testSingleCase(chrono.fr, "12 juillet à 19:00", new Date(2012, 7, 10), (result) => {
208
- expect(result.index).toBe(0);
209
- expect(result.text).toBe("12 juillet à 19:00");
210
-
211
- expect(result.start.get("year")).toBe(2012);
212
- expect(result.start.get("month")).toBe(7);
213
- expect(result.start.get("day")).toBe(12);
214
-
215
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 12, 19, 0));
216
- });
217
-
218
- testSingleCase(chrono.fr, "5 mai 12:00", new Date(2012, 7, 10), (result) => {
219
- expect(result.index).toBe(0);
220
- expect(result.text).toBe("5 mai 12:00");
221
-
222
- expect(result.start.get("year")).toBe(2012);
223
- expect(result.start.get("month")).toBe(5);
224
- expect(result.start.get("day")).toBe(5);
225
-
226
- expect(result.start).toBeDate(new Date(2012, 5 - 1, 5, 12, 0));
227
- });
228
-
229
- testSingleCase(chrono.fr, "7 Mai 11:00", new Date(2012, 7, 10), (result) => {
230
- expect(result.index).toBe(0);
231
- expect(result.text).toBe("7 Mai 11:00");
232
-
233
- expect(result.start.get("year")).toBe(2012);
234
- expect(result.start.get("month")).toBe(5);
235
- expect(result.start.get("day")).toBe(7);
236
- expect(result.start.get("hour")).toBe(11);
237
-
238
- expect(result.start).toBeDate(new Date(2012, 5 - 1, 7, 11, 0));
239
- });
240
- });
241
-
242
- test("Test - Accentuated text parsing", function () {
243
- testSingleCase(chrono.fr, "10 Août 2012", new Date(2012, 7, 10), (result) => {
244
- expect(result.start.get("year")).toBe(2012);
245
- expect(result.start.get("month")).toBe(8);
246
- expect(result.start.get("day")).toBe(10);
247
-
248
- expect(result.index).toBe(0);
249
- expect(result.text).toBe("10 Août 2012");
250
-
251
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
252
- });
253
-
254
- testSingleCase(chrono.fr, "10 Février 2012", new Date(2012, 7, 10), (result) => {
255
- expect(result.start.get("year")).toBe(2012);
256
- expect(result.start.get("month")).toBe(2);
257
- expect(result.start.get("day")).toBe(10);
258
-
259
- expect(result.index).toBe(0);
260
- expect(result.text).toBe("10 Février 2012");
261
-
262
- expect(result.start).toBeDate(new Date(2012, 2 - 1, 10, 12));
263
- });
264
-
265
- testSingleCase(chrono.fr, "10 Décembre 2012", new Date(2012, 7, 10), (result) => {
266
- expect(result.start.get("year")).toBe(2012);
267
- expect(result.start.get("month")).toBe(12);
268
- expect(result.start.get("day")).toBe(10);
269
-
270
- expect(result.index).toBe(0);
271
- expect(result.text).toBe("10 Décembre 2012");
272
-
273
- expect(result.start).toBeDate(new Date(2012, 12 - 1, 10, 12));
274
- });
275
- });
276
-
277
- test("Test - Unaccentuated text parsing", function () {
278
- testSingleCase(chrono.fr, "10 Aout 2012", new Date(2012, 7, 10), (result) => {
279
- expect(result.start.get("year")).toBe(2012);
280
- expect(result.start.get("month")).toBe(8);
281
- expect(result.start.get("day")).toBe(10);
282
-
283
- expect(result.index).toBe(0);
284
- expect(result.text).toBe("10 Aout 2012");
285
-
286
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
287
- });
288
-
289
- testSingleCase(chrono.fr, "10 Fevrier 2012", new Date(2012, 7, 10), (result) => {
290
- expect(result.start.get("year")).toBe(2012);
291
- expect(result.start.get("month")).toBe(2);
292
- expect(result.start.get("day")).toBe(10);
293
-
294
- expect(result.index).toBe(0);
295
- expect(result.text).toBe("10 Fevrier 2012");
296
-
297
- expect(result.start).toBeDate(new Date(2012, 2 - 1, 10, 12));
298
- });
299
-
300
- testSingleCase(chrono.fr, "10 Decembre 2012", new Date(2012, 7, 10), (result) => {
301
- expect(result.start.get("year")).toBe(2012);
302
- expect(result.start.get("month")).toBe(12);
303
- expect(result.start.get("day")).toBe(10);
304
-
305
- expect(result.index).toBe(0);
306
- expect(result.text).toBe("10 Decembre 2012");
307
-
308
- expect(result.start).toBeDate(new Date(2012, 12 - 1, 10, 12));
309
- });
310
- });
311
-
312
- test("Test - Impossible Dates", function () {
313
- testUnexpectedResult(chrono.fr, "32 Août 2014", new Date(2012, 7, 10));
314
-
315
- testUnexpectedResult(chrono.fr, "29 Février 2014", new Date(2012, 7, 10));
316
-
317
- testUnexpectedResult(chrono.fr, "32 Aout", new Date(2012, 7, 10));
318
-
319
- testUnexpectedResult(chrono.fr, "29 Fevrier", new Date(2013, 7, 10));
320
- });
@@ -1,49 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.fr, "8/2/2016", new Date(2012, 7, 10), (result) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe("8/2/2016");
8
-
9
- expect(result.start.get("year")).toBe(2016);
10
- expect(result.start.get("month")).toBe(2);
11
- expect(result.start.get("day")).toBe(8);
12
-
13
- expect(result.start).toBeDate(new Date(2016, 2 - 1, 8, 12));
14
- });
15
-
16
- testSingleCase(chrono.fr, "le 8/2/2016", new Date(2012, 7, 10), (result) => {
17
- expect(result.start.get("year")).toBe(2016);
18
- expect(result.start.get("month")).toBe(2);
19
- expect(result.start.get("day")).toBe(8);
20
-
21
- expect(result.start).toBeDate(new Date(2016, 2 - 1, 8, 12));
22
- });
23
-
24
- testSingleCase(chrono.fr, "le 8/2", new Date(2012, 7, 10), (result) => {
25
- expect(result.start.get("year")).toBe(2013);
26
- expect(result.start.get("month")).toBe(2);
27
- expect(result.start.get("day")).toBe(8);
28
-
29
- expect(result.start).toBeDate(new Date(2013, 2 - 1, 8, 12));
30
- });
31
- });
32
-
33
- test("Test - Single Expression with weekday", function () {
34
- testSingleCase(chrono.fr, "lundi 8/2/2016", new Date(2012, 7, 10), (result) => {
35
- expect(result.text).toBe("lundi 8/2/2016");
36
- expect(result.start).toBeDate(new Date(2016, 2 - 1, 8, 12));
37
- });
38
-
39
- testSingleCase(chrono.fr, "samedi 9/2/20 ", new Date(2012, 7, 10), (result) => {
40
- expect(result.index).toBe(0);
41
- expect(result.text).toBe("samedi 9/2/20");
42
-
43
- expect(result.start.get("year")).toBe(2020);
44
- expect(result.start.get("month")).toBe(2);
45
- expect(result.start.get("day")).toBe(9);
46
-
47
- expect(result.start).toBeDate(new Date(2020, 2 - 1, 9, 12));
48
- });
49
- });