chrono-node 2.9.1 → 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 (211) hide show
  1. package/dist/cjs/locales/de/parsers/DECasualTimeParser.js +7 -0
  2. package/dist/cjs/locales/de/parsers/DECasualTimeParser.js.map +1 -1
  3. package/dist/cjs/locales/en/configuration.js +2 -0
  4. package/dist/cjs/locales/en/configuration.js.map +1 -1
  5. package/dist/cjs/locales/en/parsers/ENMonthNameLittleEndianParser.js +1 -1
  6. package/dist/cjs/locales/en/parsers/ENMonthNameLittleEndianParser.js.map +1 -1
  7. package/dist/cjs/locales/en/parsers/ENYearMonthNameParser.d.ts +6 -0
  8. package/dist/cjs/locales/en/parsers/ENYearMonthNameParser.js +31 -0
  9. package/dist/cjs/locales/en/parsers/ENYearMonthNameParser.js.map +1 -0
  10. package/dist/cjs/locales/fi/parsers/FICasualTimeParser.js +7 -0
  11. package/dist/cjs/locales/fi/parsers/FICasualTimeParser.js.map +1 -1
  12. package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js +5 -0
  13. package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js.map +1 -1
  14. package/dist/cjs/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +2 -1
  15. package/dist/cjs/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -1
  16. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js +5 -0
  17. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
  18. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +1 -1
  19. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -1
  20. package/dist/cjs/locales/zh/hans/index.js +2 -0
  21. package/dist/cjs/locales/zh/hans/index.js.map +1 -1
  22. package/dist/cjs/locales/zh/hans/parsers/ZHHansAgoFormatParser.d.ts +6 -0
  23. package/dist/cjs/locales/zh/hans/parsers/ZHHansAgoFormatParser.js +80 -0
  24. package/dist/cjs/locales/zh/hans/parsers/ZHHansAgoFormatParser.js.map +1 -0
  25. package/dist/cjs/locales/zh/hant/index.js +2 -0
  26. package/dist/cjs/locales/zh/hant/index.js.map +1 -1
  27. package/dist/cjs/locales/zh/hant/parsers/ZHHantAgoFormatParser.d.ts +6 -0
  28. package/dist/cjs/locales/zh/hant/parsers/ZHHantAgoFormatParser.js +80 -0
  29. package/dist/cjs/locales/zh/hant/parsers/ZHHantAgoFormatParser.js.map +1 -0
  30. package/dist/cjs/results.js +15 -9
  31. package/dist/cjs/results.js.map +1 -1
  32. package/dist/esm/locales/de/parsers/DECasualTimeParser.js +7 -0
  33. package/dist/esm/locales/de/parsers/DECasualTimeParser.js.map +1 -1
  34. package/dist/esm/locales/en/configuration.js +2 -0
  35. package/dist/esm/locales/en/configuration.js.map +1 -1
  36. package/dist/esm/locales/en/parsers/ENMonthNameLittleEndianParser.js +1 -1
  37. package/dist/esm/locales/en/parsers/ENMonthNameLittleEndianParser.js.map +1 -1
  38. package/dist/esm/locales/en/parsers/ENYearMonthNameParser.d.ts +6 -0
  39. package/dist/esm/locales/en/parsers/ENYearMonthNameParser.js +28 -0
  40. package/dist/esm/locales/en/parsers/ENYearMonthNameParser.js.map +1 -0
  41. package/dist/esm/locales/fi/parsers/FICasualTimeParser.js +7 -0
  42. package/dist/esm/locales/fi/parsers/FICasualTimeParser.js.map +1 -1
  43. package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js +5 -0
  44. package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js.map +1 -1
  45. package/dist/esm/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +2 -1
  46. package/dist/esm/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -1
  47. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js +5 -0
  48. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
  49. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +1 -1
  50. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -1
  51. package/dist/esm/locales/zh/hans/index.js +2 -0
  52. package/dist/esm/locales/zh/hans/index.js.map +1 -1
  53. package/dist/esm/locales/zh/hans/parsers/ZHHansAgoFormatParser.d.ts +6 -0
  54. package/dist/esm/locales/zh/hans/parsers/ZHHansAgoFormatParser.js +77 -0
  55. package/dist/esm/locales/zh/hans/parsers/ZHHansAgoFormatParser.js.map +1 -0
  56. package/dist/esm/locales/zh/hant/index.js +2 -0
  57. package/dist/esm/locales/zh/hant/index.js.map +1 -1
  58. package/dist/esm/locales/zh/hant/parsers/ZHHantAgoFormatParser.d.ts +6 -0
  59. package/dist/esm/locales/zh/hant/parsers/ZHHantAgoFormatParser.js +77 -0
  60. package/dist/esm/locales/zh/hant/parsers/ZHHantAgoFormatParser.js.map +1 -0
  61. package/dist/esm/results.js +14 -9
  62. package/dist/esm/results.js.map +1 -1
  63. package/package.json +5 -1
  64. package/src/locales/de/parsers/DECasualTimeParser.ts +7 -0
  65. package/src/locales/en/configuration.ts +2 -0
  66. package/src/locales/en/parsers/ENMonthNameLittleEndianParser.ts +1 -1
  67. package/src/locales/en/parsers/ENYearMonthNameParser.ts +38 -0
  68. package/src/locales/fi/parsers/FICasualTimeParser.ts +7 -0
  69. package/src/locales/fr/parsers/FRCasualTimeParser.ts +5 -0
  70. package/src/locales/fr/parsers/FRTimeUnitRelativeFormatParser.ts +2 -1
  71. package/src/locales/it/parsers/ITCasualTimeParser.ts +5 -0
  72. package/src/locales/uk/parsers/UKTimeUnitWithinFormatParser.ts +1 -1
  73. package/src/locales/zh/hans/index.ts +2 -0
  74. package/src/locales/zh/hans/parsers/ZHHansAgoFormatParser.ts +87 -0
  75. package/src/locales/zh/hant/index.ts +2 -0
  76. package/src/locales/zh/hant/parsers/ZHHantAgoFormatParser.ts +87 -0
  77. package/src/results.ts +40 -9
  78. package/test/calculation_duration.test.ts +0 -165
  79. package/test/calculation_weekdays.test.ts +0 -133
  80. package/test/de/de_casual.test.ts +0 -322
  81. package/test/de/de_dash.test.ts +0 -32
  82. package/test/de/de_month_name_little_endian.test.ts +0 -273
  83. package/test/de/de_time_exp.test.ts +0 -223
  84. package/test/de/de_time_units_casual_relative.test.ts +0 -120
  85. package/test/de/de_time_units_within.test.ts +0 -119
  86. package/test/de/de_weekday.test.ts +0 -158
  87. package/test/de/de_year.test.ts +0 -147
  88. package/test/debugging.test.ts +0 -17
  89. package/test/en/en.test.ts +0 -191
  90. package/test/en/en_casual.test.ts +0 -425
  91. package/test/en/en_inter_std.test.ts +0 -118
  92. package/test/en/en_merging_relative_dates.test.ts +0 -50
  93. package/test/en/en_month.test.ts +0 -295
  94. package/test/en/en_month_name_little_endian.test.ts +0 -448
  95. package/test/en/en_month_name_middle_endian.test.ts +0 -386
  96. package/test/en/en_performance.test.ts +0 -26
  97. package/test/en/en_relative.test.ts +0 -393
  98. package/test/en/en_slash.test.ts +0 -284
  99. package/test/en/en_time_exp.test.ts +0 -535
  100. package/test/en/en_time_units_ago.test.ts +0 -357
  101. package/test/en/en_time_units_casual_relative.test.ts +0 -186
  102. package/test/en/en_time_units_later.test.ts +0 -361
  103. package/test/en/en_time_units_within.test.ts +0 -417
  104. package/test/en/en_timezone_exp.test.ts +0 -410
  105. package/test/en/en_weekday.test.ts +0 -573
  106. package/test/en/en_year.test.ts +0 -138
  107. package/test/en/en_year_month_day.test.ts +0 -101
  108. package/test/en/negative_cases.test.ts +0 -99
  109. package/test/es/es_casual.test.ts +0 -175
  110. package/test/es/es_month_name_little_endian.test.ts +0 -217
  111. package/test/es/es_slash.test.ts +0 -26
  112. package/test/es/es_time_exp.test.ts +0 -175
  113. package/test/es/es_time_units_within.test.ts +0 -119
  114. package/test/fi/fi_casual.test.ts +0 -85
  115. package/test/fi/fi_casual_time.test.ts +0 -56
  116. package/test/fi/fi_month_name_little_endian.test.ts +0 -50
  117. package/test/fi/fi_time_exp.test.ts +0 -39
  118. package/test/fi/fi_time_units_ago.test.ts +0 -93
  119. package/test/fi/fi_time_units_casual_relative.test.ts +0 -117
  120. package/test/fi/fi_time_units_within.test.ts +0 -74
  121. package/test/fi/fi_weekday.test.ts +0 -90
  122. package/test/fr/fr_casual.test.ts +0 -300
  123. package/test/fr/fr_little_endian.test.ts +0 -320
  124. package/test/fr/fr_slash.test.ts +0 -49
  125. package/test/fr/fr_time_exp.test.ts +0 -588
  126. package/test/fr/fr_time_units_ago.test.ts +0 -103
  127. package/test/fr/fr_time_units_casual_relative.test.ts +0 -108
  128. package/test/fr/fr_time_units_within.test.ts +0 -129
  129. package/test/fr/fr_weekday.test.ts +0 -130
  130. package/test/it/it_casual.test.ts +0 -44
  131. package/test/it/it_month_name_little_endian.test.ts +0 -28
  132. package/test/it/it_month_name_middle_endian.test.ts +0 -39
  133. package/test/it/it_time_exp.test.ts +0 -84
  134. package/test/it/it_weekday.test.ts +0 -37
  135. package/test/it/it_year_month_day.test.ts +0 -41
  136. package/test/ja/ja_casual.test.ts +0 -73
  137. package/test/ja/ja_slash_date_format.test.ts +0 -60
  138. package/test/ja/ja_standard.test.ts +0 -235
  139. package/test/ja/ja_time_exp.test.ts +0 -305
  140. package/test/ja/ja_weekday.test.ts +0 -183
  141. package/test/nl/nl_casual.test.ts +0 -408
  142. package/test/nl/nl_month.test.ts +0 -205
  143. package/test/nl/nl_month_name_little_endian.test.ts +0 -358
  144. package/test/nl/nl_relative.test.ts +0 -242
  145. package/test/nl/nl_slash.test.ts +0 -206
  146. package/test/nl/nl_time_exp.test.ts +0 -79
  147. package/test/nl/nl_time_units_ago.test.ts +0 -243
  148. package/test/nl/nl_time_units_casual_relative.test.ts +0 -130
  149. package/test/nl/nl_time_units_later.test.ts +0 -250
  150. package/test/nl/nl_time_units_within.test.ts +0 -225
  151. package/test/nl/nl_weekday.test.ts +0 -216
  152. package/test/pt/pt_casual.test.ts +0 -175
  153. package/test/pt/pt_month_name_little_endian.test.ts +0 -217
  154. package/test/pt/pt_slash.test.ts +0 -26
  155. package/test/pt/pt_time_exp.test.ts +0 -175
  156. package/test/result.test.ts +0 -283
  157. package/test/ru/ru_casual.test.ts +0 -159
  158. package/test/ru/ru_month.test.ts +0 -70
  159. package/test/ru/ru_month_name_little_endian.test.ts +0 -145
  160. package/test/ru/ru_relative.test.ts +0 -107
  161. package/test/ru/ru_time_exp.test.ts +0 -111
  162. package/test/ru/ru_time_units_ago.test.ts +0 -48
  163. package/test/ru/ru_time_units_casual_relative.test.ts +0 -190
  164. package/test/ru/ru_time_units_within.test.ts +0 -16
  165. package/test/ru/ru_weekday.test.ts +0 -52
  166. package/test/sv/sv_casual.test.ts +0 -87
  167. package/test/sv/sv_month_name_little_endian.test.ts +0 -48
  168. package/test/sv/sv_time_units_casual_relative.test.ts +0 -143
  169. package/test/sv/sv_weekday.test.ts +0 -68
  170. package/test/system.test.ts +0 -247
  171. package/test/system_timezone.test.ts +0 -284
  172. package/test/test_util.ts +0 -135
  173. package/test/uk/uk_casual.test.ts +0 -153
  174. package/test/uk/uk_month.test.ts +0 -70
  175. package/test/uk/uk_month_name_little_endian.test.ts +0 -148
  176. package/test/uk/uk_relative.test.ts +0 -107
  177. package/test/uk/uk_time_exp.test.ts +0 -111
  178. package/test/uk/uk_time_units_ago.test.ts +0 -48
  179. package/test/uk/uk_time_units_casual_relative.test.ts +0 -142
  180. package/test/uk/uk_time_units_within.test.ts +0 -16
  181. package/test/uk/uk_weekday.test.ts +0 -52
  182. package/test/vi/vi_casual.test.ts +0 -84
  183. package/test/vi/vi_casual_time.test.ts +0 -77
  184. package/test/vi/vi_date_range.test.ts +0 -61
  185. package/test/vi/vi_forward_date.test.ts +0 -45
  186. package/test/vi/vi_month_year.test.ts +0 -40
  187. package/test/vi/vi_negative_cases.test.ts +0 -60
  188. package/test/vi/vi_slash.test.ts +0 -36
  189. package/test/vi/vi_standard.test.ts +0 -86
  190. package/test/vi/vi_strict.test.ts +0 -67
  191. package/test/vi/vi_time_exp.test.ts +0 -99
  192. package/test/vi/vi_time_units_ago.test.ts +0 -56
  193. package/test/vi/vi_time_units_casual_relative.test.ts +0 -56
  194. package/test/vi/vi_time_units_later.test.ts +0 -43
  195. package/test/vi/vi_time_units_within.test.ts +0 -24
  196. package/test/vi/vi_weekday.test.ts +0 -77
  197. package/test/vi/vi_year.test.ts +0 -42
  198. package/test/zh/hans/zh_hans_casual.test.ts +0 -242
  199. package/test/zh/hans/zh_hans_date.test.ts +0 -116
  200. package/test/zh/hans/zh_hans_deadline.test.ts +0 -175
  201. package/test/zh/hans/zh_hans_time_exp.test.ts +0 -508
  202. package/test/zh/hans/zh_hans_weekday.test.ts +0 -219
  203. package/test/zh/hant/zh_hant_casual.test.ts +0 -260
  204. package/test/zh/hant/zh_hant_date.test.ts +0 -116
  205. package/test/zh/hant/zh_hant_deadline.test.ts +0 -136
  206. package/test/zh/hant/zh_hant_time_exp.test.ts +0 -226
  207. package/test/zh/hant/zh_hant_weekday.test.ts +0 -175
  208. package/test/zh/zh.test.ts +0 -36
  209. package/tsconfig.build.esm.json +0 -8
  210. package/tsconfig.build.json +0 -10
  211. package/tsconfig.json +0 -29
@@ -1,242 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
- import { ParsingResult } from "../../src/results";
4
-
5
- test("Test - 'This' expressions", () => {
6
- // this week
7
- testSingleCase(chrono.nl, "deze week", new Date(2017, 11 - 1, 19, 12), (result, text) => {
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
- // this month
16
- testSingleCase(chrono.nl, "deze maand", new Date(2017, 11 - 1, 19, 12), (result, text) => {
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
- // this year
25
- testSingleCase(chrono.nl, "dit jaar", new Date(2017, 11 - 1, 19, 12), (result, text) => {
26
- expect(result.text).toBe(text);
27
- expect(result.start.get("year")).toBe(2017);
28
- expect(result.start.get("month")).toBe(1);
29
- expect(result.start.get("day")).toBe(1);
30
- expect(result.start.get("hour")).toBe(12);
31
- });
32
- });
33
-
34
- test("Test - Past relative expressions", () => {
35
- // last week
36
- testSingleCase(chrono.nl, "afgelopen week", new Date(2016, 10 - 1, 1, 12), (result, text) => {
37
- expect(result.text).toBe(text);
38
- expect(result.start.get("year")).toBe(2016);
39
- expect(result.start.get("month")).toBe(9);
40
- expect(result.start.get("day")).toBe(24);
41
- expect(result.start.get("hour")).toBe(12);
42
- });
43
-
44
- // last month
45
- testSingleCase(chrono.nl, "afgelopen maand", new Date(2016, 10 - 1, 1, 12), (result, text) => {
46
- expect(result.text).toBe(text);
47
- expect(result.start.get("year")).toBe(2016);
48
- expect(result.start.get("month")).toBe(9);
49
- expect(result.start.get("day")).toBe(1);
50
- expect(result.start.get("hour")).toBe(12);
51
- });
52
-
53
- // last day
54
- testSingleCase(chrono.nl, "afgelopen dag", new Date(2016, 10 - 1, 1, 12), (result, text) => {
55
- expect(result.text).toBe(text);
56
- expect(result.start.get("year")).toBe(2016);
57
- expect(result.start.get("month")).toBe(9);
58
- expect(result.start.get("day")).toBe(30);
59
- expect(result.start.get("hour")).toBe(12);
60
- });
61
-
62
- // past week
63
- testSingleCase(chrono.nl, "vorige week", new Date(2016, 10 - 1, 1, 12), (result, text) => {
64
- expect(result.text).toBe(text);
65
- expect(result.start.get("year")).toBe(2016);
66
- expect(result.start.get("month")).toBe(9);
67
- expect(result.start.get("day")).toBe(24);
68
- expect(result.start.get("hour")).toBe(12);
69
- });
70
- });
71
-
72
- test("Test - Future relative expressions", () => {
73
- // next hour
74
- testSingleCase(chrono.nl, "komend uur", new Date(2016, 10 - 1, 1, 12), (result, text) => {
75
- expect(result.text).toBe(text);
76
- expect(result.start.get("year")).toBe(2016);
77
- expect(result.start.get("month")).toBe(10);
78
- expect(result.start.get("day")).toBe(1);
79
- expect(result.start.get("hour")).toBe(13);
80
- });
81
-
82
- // next week
83
- testSingleCase(chrono.nl, "volgende week", new Date(2016, 10 - 1, 1, 12), (result, text) => {
84
- expect(result.text).toBe(text);
85
- expect(result.start.get("year")).toBe(2016);
86
- expect(result.start.get("month")).toBe(10);
87
- expect(result.start.get("day")).toBe(8);
88
- expect(result.start.get("hour")).toBe(12);
89
- });
90
-
91
- // next day
92
- testSingleCase(chrono.nl, "volgende dag", new Date(2016, 10 - 1, 1, 12), (result, text) => {
93
- expect(result.text).toBe(text);
94
- expect(result.start.get("year")).toBe(2016);
95
- expect(result.start.get("month")).toBe(10);
96
- expect(result.start.get("day")).toBe(2);
97
- expect(result.start.get("hour")).toBe(12);
98
- });
99
-
100
- // next month
101
- testSingleCase(chrono.nl, "volgende maand", new Date(2016, 10 - 1, 1, 12), (result, text) => {
102
- expect(result.text).toBe(text);
103
- expect(result.start.get("year")).toBe(2016);
104
- expect(result.start.get("month")).toBe(11);
105
- expect(result.start.get("day")).toBe(1);
106
- expect(result.start.get("hour")).toBe(12);
107
-
108
- expect(result.start.isCertain("year")).toBe(true);
109
- expect(result.start.isCertain("month")).toBe(true);
110
- expect(result.start.isCertain("day")).toBe(false);
111
- expect(result.start.isCertain("hour")).toBe(false);
112
- });
113
-
114
- // next month
115
- testSingleCase(chrono.nl, "aankomende maand", new Date(2016, 10 - 1, 1, 12), (result, text) => {
116
- expect(result.text).toBe(text);
117
- expect(result.start.get("year")).toBe(2016);
118
- expect(result.start.get("month")).toBe(11);
119
- expect(result.start.get("day")).toBe(1);
120
- expect(result.start.get("hour")).toBe(12);
121
-
122
- expect(result.start.isCertain("year")).toBe(true);
123
- expect(result.start.isCertain("month")).toBe(true);
124
- expect(result.start.isCertain("day")).toBe(false);
125
- expect(result.start.isCertain("hour")).toBe(false);
126
- });
127
-
128
- // next year
129
- testSingleCase(chrono.nl, "volgend jaar", new Date(2020, 11 - 1, 22, 12, 11, 32, 6), (result, text) => {
130
- expect(result.text).toBe(text);
131
- expect(result.start.get("year")).toBe(2021);
132
- expect(result.start.get("month")).toBe(11);
133
- expect(result.start.get("day")).toBe(22);
134
- expect(result.start.get("hour")).toBe(12);
135
- expect(result.start.get("minute")).toBe(11);
136
- expect(result.start.get("second")).toBe(32);
137
- expect(result.start.get("millisecond")).toBe(6);
138
-
139
- expect(result.start.isCertain("year")).toBe(true);
140
- expect(result.start.isCertain("month")).toBe(false);
141
- expect(result.start.isCertain("day")).toBe(false);
142
- expect(result.start.isCertain("hour")).toBe(false);
143
- expect(result.start.isCertain("minute")).toBe(false);
144
- expect(result.start.isCertain("second")).toBe(false);
145
- expect(result.start.isCertain("millisecond")).toBe(false);
146
- expect(result.start.isCertain("timezoneOffset")).toBe(false);
147
- });
148
- });
149
-
150
- test("Test - Relative date components' certainty", () => {
151
- const refDate = new Date(2016, 10 - 1, 7, 12);
152
-
153
- // next hour
154
- testSingleCase(chrono.nl, "komend uur", refDate, (result, text) => {
155
- expect(result.text).toBe(text);
156
- expect(result.start.get("year")).toBe(2016);
157
- expect(result.start.get("month")).toBe(10);
158
- expect(result.start.get("day")).toBe(7);
159
- expect(result.start.get("hour")).toBe(13);
160
- expect(result.start.get("timezoneOffset")).toBe(refDate.getTimezoneOffset() * -1);
161
-
162
- expect(result.start.isCertain("year")).toBe(true);
163
- expect(result.start.isCertain("month")).toBe(true);
164
- expect(result.start.isCertain("day")).toBe(true);
165
- expect(result.start.isCertain("hour")).toBe(true);
166
- expect(result.start.isCertain("timezoneOffset")).toBe(true);
167
- });
168
-
169
- // next month
170
- testSingleCase(chrono.nl, "volgende maand", refDate, (result, text) => {
171
- //const expectedDate = new Date(2016, 11, 7, 12);
172
-
173
- expect(result.text).toBe(text);
174
- expect(result.start.get("year")).toBe(2016);
175
- expect(result.start.get("month")).toBe(11);
176
- expect(result.start.get("day")).toBe(7);
177
- expect(result.start.get("hour")).toBe(12);
178
- //expect(result.start.get("timezoneOffset")).toBe(-expectedDate.getTimezoneOffset());
179
-
180
- expect(result.start.isCertain("year")).toBe(true);
181
- expect(result.start.isCertain("month")).toBe(true);
182
- expect(result.start.isCertain("day")).toBe(false);
183
- expect(result.start.isCertain("hour")).toBe(false);
184
- expect(result.start.isCertain("timezoneOffset")).toBe(false);
185
- });
186
- });
187
-
188
- test("Test - Relative date when the timezone is irrelevant", () => {
189
- const refDate = new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)");
190
- {
191
- // now
192
- const text = "nu";
193
- const result = chrono.nl.parse(text, refDate)[0] as ParsingResult;
194
- expect(result).toBeDate(new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)"));
195
- expect(result).toBeDate(new Date("Sun Nov 29 2020 5:24:13 GMT+0100"));
196
-
197
- result.start.imply("timezoneOffset", 60);
198
- expect(result).toBeDate(new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)"));
199
- expect(result).toBeDate(new Date("Sun Nov 29 2020 5:24:13 GMT+0100"));
200
- }
201
- {
202
- // in 10 minutes
203
- const text = "binnen 10 minuten";
204
- const result = chrono.nl.parse(text, refDate)[0] as ParsingResult;
205
- expect(result).toBeDate(new Date("Sun Nov 29 2020 13:34:13 GMT+0900 (Japan Standard Time)"));
206
- expect(result).toBeDate(new Date("Sun Nov 29 2020 5:34:13 GMT+0100"));
207
-
208
- result.start.imply("timezoneOffset", 60);
209
- expect(result).toBeDate(new Date("Sun Nov 29 2020 13:34:13 GMT+0900 (Japan Standard Time)"));
210
- expect(result).toBeDate(new Date("Sun Nov 29 2020 5:34:13 GMT+0100"));
211
- }
212
- });
213
-
214
- test("Test - Relative date when the timezone is relevant and known", () => {
215
- // Sun Nov 29 2020 13:24:13 GMT+0900 (JST)
216
- // Sat Nov 28 2020 21:24:13 GMT-0700 (PDT)
217
- const refInstant = new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)");
218
- {
219
- // In JST (Nov 29 2020 13:24:13 GMT+0900), "tomorrow at 5pm"
220
- const text = "morgen om 17 uur";
221
- const result = chrono.nl.parse(text, { instant: refInstant, timezone: "JST" })[0] as ParsingResult;
222
- expect(result).toBeDate(new Date("Mon Nov 30 2020 17:00:00 GMT+0900 (JST)"));
223
- expect(result.start.get("month")).toBe(11);
224
- expect(result.start.get("day")).toBe(30);
225
- expect(result.start.get("hour")).toBe(17);
226
-
227
- result.start.imply("timezoneOffset", 60);
228
- expect(result).toBeDate(new Date("Mon Nov 30 2020 17:00:00 GMT+0100 (BST)"));
229
- }
230
- {
231
- // In PDT (Sat Nov 28 2020 21:24:13 GMT-0700), "tomorrow at 5pm"
232
- const text = "morgen om 17 uur";
233
- const result = chrono.nl.parse(text, { instant: refInstant, timezone: -7 * 60 })[0] as ParsingResult;
234
- expect(result).toBeDate(new Date("Sun Nov 29 2020 17:00:00 GMT-0700 (PST)"));
235
- expect(result.start.get("month")).toBe(11);
236
- expect(result.start.get("day")).toBe(29);
237
- expect(result.start.get("hour")).toBe(17);
238
-
239
- result.start.imply("timezoneOffset", 60);
240
- expect(result).toBeDate(new Date("Sun Nov 29 2020 17:00:00 GMT+0100 (BST)"));
241
- }
242
- });
@@ -1,206 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase, testUnexpectedResult, testWithExpectedDate } from "../test_util";
3
-
4
- test("Test - Parsing Offset Expression", function () {
5
- testSingleCase(chrono.nl, " 04/2016 ", new Date(2012, 7, 10), (result) => {
6
- expect(result.index).toBe(4);
7
- expect(result.text).toBe("04/2016");
8
- });
9
- });
10
-
11
- test("Test - Single Expression", function () {
12
- testSingleCase(chrono.nl, "Het evenement gaat door (04/2016)", new Date(2012, 7, 10), (result) => {
13
- expect(result.start).not.toBeNull();
14
- expect(result.start.get("year")).toBe(2016);
15
- expect(result.start.get("month")).toBe(4);
16
- expect(result.start.get("day")).toBe(1);
17
-
18
- expect(result.index).toBe(25);
19
- expect(result.text).toBe("04/2016");
20
-
21
- expect(result.start).toBeDate(new Date(2016, 4 - 1, 1, 12));
22
- });
23
-
24
- testSingleCase(chrono.nl, "Gepubliceerd: 06/2004", new Date(2012, 7, 10), (result) => {
25
- expect(result.start).not.toBeNull();
26
- expect(result.start.get("year")).toBe(2004);
27
- expect(result.start.get("month")).toBe(6);
28
- expect(result.start.get("day")).toBe(1);
29
-
30
- expect(result.index).toBe(14);
31
- expect(result.text).toBe("06/2004");
32
-
33
- expect(result.start).toBeDate(new Date(2004, 6 - 1, 1, 12));
34
- });
35
-
36
- testSingleCase(chrono.nl, "8/10/2012", new Date(2012, 9, 8), (result) => {
37
- expect(result.start).not.toBeNull();
38
- expect(result.start.get("year")).toBe(2012);
39
- expect(result.start.get("month")).toBe(10);
40
- expect(result.start.get("day")).toBe(8);
41
-
42
- expect(result.index).toBe(0);
43
- expect(result.text).toBe("8/10/2012");
44
-
45
- expect(result.start.isCertain("day")).toBe(true);
46
- expect(result.start.isCertain("month")).toBe(true);
47
- expect(result.start.isCertain("year")).toBe(true);
48
-
49
- expect(result.start).toBeDate(new Date(2012, 10 - 1, 8, 12));
50
- });
51
-
52
- testSingleCase(chrono.nl, ": 8/1/2012", new Date(2012, 0, 8), (result) => {
53
- expect(result.start).not.toBeNull();
54
- expect(result.start.get("year")).toBe(2012);
55
- expect(result.start.get("month")).toBe(1);
56
- expect(result.start.get("day")).toBe(8);
57
-
58
- expect(result.index).toBe(2);
59
- expect(result.text).toBe("8/1/2012");
60
-
61
- expect(result.start).toBeDate(new Date(2012, 0, 8, 12));
62
- });
63
-
64
- testSingleCase(chrono.nl, "8/10", new Date(2012, 10 - 1, 8), (result) => {
65
- expect(result.start).not.toBeNull();
66
- expect(result.start.get("year")).toBe(2012);
67
- expect(result.start.get("month")).toBe(10);
68
- expect(result.start.get("day")).toBe(8);
69
-
70
- expect(result.index).toBe(0);
71
- expect(result.text).toBe("8/10");
72
-
73
- expect(result.start.isCertain("day")).toBe(true);
74
- expect(result.start.isCertain("month")).toBe(true);
75
- expect(result.start.isCertain("year")).toBe(false);
76
-
77
- expect(result.start).toBeDate(new Date(2012, 10 - 1, 8, 12));
78
- });
79
-
80
- testSingleCase(chrono.nl, "De deadline is 8/10/2012", new Date(2012, 10 - 1, 8), (result) => {
81
- expect(result.index).toBe(15);
82
- expect(result.text).toBe("8/10/2012");
83
-
84
- expect(result.start).toBeDate(new Date(2012, 10 - 1, 8, 12));
85
- });
86
-
87
- testSingleCase(chrono.nl, "De deadline is dinsdag 11/3/2015", new Date(2015, 10, 3), (result) => {
88
- expect(result.index).toBe(15);
89
- expect(result.text).toBe("dinsdag 11/3/2015");
90
-
91
- expect(result.start).toBeDate(new Date(2015, 2, 11, 12));
92
- });
93
-
94
- testSingleCase(chrono.nl, "28/2/2014", (result) => {
95
- expect(result.text).toBe("28/2/2014");
96
- });
97
-
98
- testWithExpectedDate(chrono.nl, "30-12-16", new Date(2016, 12 - 1, 30, 12));
99
-
100
- testSingleCase(chrono.nl, "vrijdag 30-12-16", (result) => {
101
- expect(result.text).toBe("vrijdag 30-12-16");
102
- expect(result).toBeDate(new Date(2016, 12 - 1, 30, 12));
103
- });
104
- });
105
-
106
- test("Test - Single Expression Little-Endian", function () {
107
- testSingleCase(chrono.nl, "8/10/2012", new Date(2012, 7, 10), (result) => {
108
- expect(result.start).not.toBeNull();
109
- expect(result.start.get("year")).toBe(2012);
110
- expect(result.start.get("month")).toBe(10);
111
- expect(result.start.get("day")).toBe(8);
112
-
113
- expect(result.index).toBe(0);
114
- expect(result.text).toBe("8/10/2012");
115
-
116
- expect(result.start).toBeDate(new Date(2012, 10 - 1, 8, 12));
117
- });
118
-
119
- testWithExpectedDate(chrono.nl, "30-12-16", new Date(2016, 12 - 1, 30, 12));
120
-
121
- testSingleCase(chrono.nl, "vrijdag 30-12-16", (result) => {
122
- expect(result.text).toBe("vrijdag 30-12-16");
123
- expect(result).toBeDate(new Date(2016, 12 - 1, 30, 12));
124
- });
125
- });
126
-
127
- test("Test - Single Expression Little-Endian with Month name", function () {
128
- testSingleCase(chrono.nl, "8 oktober 2012", new Date(2012, 10 - 1, 8), (result) => {
129
- expect(result.start).not.toBeNull();
130
- expect(result.start.get("year")).toBe(2012);
131
- expect(result.start.get("month")).toBe(10);
132
- expect(result.start.get("day")).toBe(8);
133
-
134
- expect(result.index).toBe(0);
135
- expect(result.text).toBe("8 oktober 2012");
136
-
137
- expect(result.start).toBeDate(new Date(2012, 10 - 1, 8, 12));
138
- });
139
- });
140
-
141
- test("Test - Range Expression", function () {
142
- testSingleCase(chrono.nl, "10/8/2012 - 15/8/2012", new Date(2012, 7, 10), (result) => {
143
- expect(result.index).toBe(0);
144
- expect(result.text).toBe("10/8/2012 - 15/8/2012");
145
-
146
- expect(result.start).not.toBeNull();
147
- expect(result.start.get("year")).toBe(2012);
148
- expect(result.start.get("month")).toBe(8);
149
- expect(result.start.get("day")).toBe(10);
150
-
151
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
152
-
153
- expect(result.end).not.toBeNull();
154
- expect(result.end.get("year")).toBe(2012);
155
- expect(result.end.get("month")).toBe(8);
156
- expect(result.end.get("day")).toBe(15);
157
-
158
- expect(result.end).toBeDate(new Date(2012, 8 - 1, 15, 12));
159
- });
160
- });
161
-
162
- test("Test - Splitter variances patterns", function () {
163
- const expectDate = new Date(2015, 5 - 1, 25, 12, 0);
164
-
165
- testWithExpectedDate(chrono.nl, "2015-05-25", expectDate);
166
- testWithExpectedDate(chrono.nl, "2015/05/25", expectDate);
167
- testWithExpectedDate(chrono.nl, "2015.05.25", expectDate);
168
- testWithExpectedDate(chrono.nl, "25-05-2015", expectDate);
169
- testWithExpectedDate(chrono.nl, "25/05/2015", expectDate);
170
- testWithExpectedDate(chrono.nl, "25.05.2015", expectDate);
171
-
172
- // Also, guessing ambiguous date
173
- testWithExpectedDate(chrono.nl, "25/05/2015", expectDate);
174
- });
175
-
176
- test("Test - Impossible Dates and Unexpected Results", function () {
177
- testUnexpectedResult(chrono.nl, "8/32/2014", new Date(2012, 7, 10));
178
-
179
- testUnexpectedResult(chrono.nl, "8/32", new Date(2012, 7, 10));
180
-
181
- testUnexpectedResult(chrono.nl, "2/29/2014", new Date(2012, 7, 10));
182
-
183
- testUnexpectedResult(chrono.nl, "2014/22/29", new Date(2012, 7, 10));
184
-
185
- testUnexpectedResult(chrono.nl, "2014/13/22", new Date(2012, 7, 10));
186
-
187
- testUnexpectedResult(chrono.nl, "80-32-89-89", new Date(2012, 7, 10));
188
- });
189
-
190
- test("Test - forward dates only option", function () {
191
- testSingleCase(chrono, "31/5", new Date(1999, 6 - 1, 1), { forwardDate: true }, (result) => {
192
- expect(result.start).not.toBeNull();
193
- expect(result.start.get("year")).toBe(2000);
194
- expect(result.start.get("month")).toBe(5);
195
- expect(result.start.get("day")).toBe(31);
196
-
197
- expect(result.index).toBe(0);
198
- expect(result.text).toBe("31/5");
199
-
200
- expect(result.start.isCertain("day")).toBe(true);
201
- expect(result.start.isCertain("month")).toBe(true);
202
- expect(result.start.isCertain("year")).toBe(false);
203
-
204
- expect(result.start).toBeDate(new Date(2000, 5 - 1, 31, 12));
205
- });
206
- });
@@ -1,79 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase, testUnexpectedResult } from "../test_util";
3
- import { Meridiem } from "../../src";
4
-
5
- test("Test - Parsing text offset", function () {
6
- testSingleCase(chrono.nl, " 11:00 ", new Date(2016, 10 - 1, 1, 8), (result, text) => {
7
- expect(result.index).toBe(2);
8
- expect(result.text).toBe("11:00");
9
- });
10
-
11
- testSingleCase(chrono.nl, "2020 om 11:00 ", new Date(2016, 10 - 1, 1, 8), (result, text) => {
12
- expect(result.index).toBe(5);
13
- expect(result.text).toBe("om 11:00");
14
- });
15
- });
16
-
17
- test("Test - Time expression", function () {
18
- testSingleCase(chrono.nl, "20:32:13", new Date(2016, 10 - 1, 1, 8), (result, text) => {
19
- expect(result.text).toBe(text);
20
- expect(result.start.get("hour")).toBe(20);
21
- expect(result.start.get("minute")).toBe(32);
22
- expect(result.start.get("second")).toBe(13);
23
- expect(result.start.get("meridiem")).toBe(Meridiem.PM);
24
- });
25
- });
26
-
27
- test("Test - Time range expression", function () {
28
- testSingleCase(chrono.nl, "10:00:00 - 21:45:00", new Date(2016, 10 - 1, 1, 8), (result, text) => {
29
- expect(result.text).toBe(text);
30
-
31
- expect(result.start.get("hour")).toBe(10);
32
- expect(result.start.get("minute")).toBe(0);
33
- expect(result.start.get("second")).toBe(0);
34
- expect(result.start.get("meridiem")).toBe(Meridiem.AM);
35
-
36
- expect(result.end.get("hour")).toBe(21);
37
- expect(result.end.get("minute")).toBe(45);
38
- expect(result.end.get("second")).toBe(0);
39
- expect(result.end.get("meridiem")).toBe(Meridiem.PM);
40
- });
41
- });
42
-
43
- test("Test - Casual time number expression", function () {
44
- testSingleCase(chrono.nl, "23:00 's avonds", new Date(2016, 10 - 1, 1, 8), (result, text) => {
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(1);
49
- expect(result.start.get("hour")).toBe(23);
50
- });
51
-
52
- testSingleCase(chrono.nl, "23:00 vanavond", new Date(2016, 10 - 1, 1, 8), (result, text) => {
53
- expect(result.text).toBe(text);
54
- expect(result.start.get("year")).toBe(2016);
55
- expect(result.start.get("month")).toBe(10);
56
- expect(result.start.get("day")).toBe(1);
57
- expect(result.start.get("hour")).toBe(23);
58
- });
59
-
60
- testSingleCase(chrono.nl, "6:00 's ochtends", new Date(2016, 10 - 1, 1, 8), (result, text) => {
61
- expect(result.text).toBe(text);
62
- expect(result.start.get("year")).toBe(2016);
63
- expect(result.start.get("month")).toBe(10);
64
- expect(result.start.get("day")).toBe(1);
65
- expect(result.start.get("hour")).toBe(6);
66
- expect(result.start.get("minute")).toBe(0);
67
- expect(result.start.get("meridiem")).toBe(Meridiem.AM);
68
- });
69
-
70
- testSingleCase(chrono.nl, "6:00 in de namiddag", new Date(2016, 10 - 1, 1, 8), (result, text) => {
71
- expect(result.text).toBe(text);
72
- expect(result.start.get("year")).toBe(2016);
73
- expect(result.start.get("month")).toBe(10);
74
- expect(result.start.get("day")).toBe(1);
75
- expect(result.start.get("hour")).toBe(18);
76
- expect(result.start.get("minute")).toBe(0);
77
- expect(result.start.get("meridiem")).toBe(Meridiem.PM);
78
- });
79
- });