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,219 +0,0 @@
1
- import * as chrono from "../../../src";
2
- import { testSingleCase } from "../../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.zh.hans, "星期四", new Date(2016, 9 - 1, 2), (result) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe("星期四");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("year")).toBe(2016);
11
- expect(result.start.get("month")).toBe(9);
12
- expect(result.start.get("day")).toBe(1);
13
- expect(result.start.get("weekday")).toBe(4);
14
-
15
- expect(result.start.isCertain("day")).toBe(false);
16
- expect(result.start.isCertain("month")).toBe(false);
17
- expect(result.start.isCertain("year")).toBe(false);
18
- expect(result.start.isCertain("weekday")).toBe(true);
19
-
20
- const resultDate = result.start.date();
21
- const expectDate = new Date(2016, 9 - 1, 1, 12);
22
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
23
- });
24
-
25
- testSingleCase(chrono.zh.hans, "我周一要打游戏", new Date(2012, 7, 10), (result) => {
26
- expect(result.index).toBe(1);
27
- expect(result.text).toBe("周一");
28
-
29
- expect(result.start).not.toBeNull();
30
- expect(result.start.get("year")).toBe(2012);
31
- expect(result.start.get("month")).toBe(8);
32
- expect(result.start.get("day")).toBe(13);
33
- expect(result.start.get("weekday")).toBe(1);
34
-
35
- const resultDate = result.start.date();
36
- const expectDate = new Date(2012, 7, 13, 12);
37
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
38
- });
39
-
40
- testSingleCase(
41
- chrono.zh.hans,
42
- "礼拜四 (forward dates only)",
43
- new Date(2016, 9 - 1, 2),
44
- { forwardDate: true },
45
- (result) => {
46
- expect(result.index).toBe(0);
47
- expect(result.text).toBe("礼拜四");
48
-
49
- expect(result.start).not.toBeNull();
50
- expect(result.start.get("year")).toBe(2016);
51
- expect(result.start.get("month")).toBe(9);
52
- expect(result.start.get("day")).toBe(8);
53
- expect(result.start.get("weekday")).toBe(4);
54
-
55
- expect(result.start.isCertain("day")).toBe(false);
56
- expect(result.start.isCertain("month")).toBe(false);
57
- expect(result.start.isCertain("year")).toBe(false);
58
- expect(result.start.isCertain("weekday")).toBe(true);
59
-
60
- const resultDate = result.start.date();
61
- const expectDate = new Date(2016, 9 - 1, 8, 12);
62
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
63
- }
64
- );
65
-
66
- testSingleCase(chrono.zh.hans, "礼拜日", new Date(2016, 9 - 1, 2), (result) => {
67
- expect(result.index).toBe(0);
68
- expect(result.text).toBe("礼拜日");
69
-
70
- expect(result.start).not.toBeNull();
71
- expect(result.start.get("year")).toBe(2016);
72
- expect(result.start.get("month")).toBe(9);
73
- expect(result.start.get("day")).toBe(4);
74
- expect(result.start.get("weekday")).toBe(0);
75
-
76
- const resultDate = result.start.date();
77
- const expectDate = new Date(2016, 9 - 1, 4, 12);
78
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
79
- });
80
-
81
- testSingleCase(chrono.zh.hans, "我上个礼拜三在打游戏", new Date(2016, 9 - 1, 2), (result) => {
82
- expect(result.index).toBe(1);
83
- expect(result.text).toBe("上个礼拜三");
84
-
85
- expect(result.start).not.toBeNull();
86
- expect(result.start.get("year")).toBe(2016);
87
- expect(result.start.get("month")).toBe(8);
88
- expect(result.start.get("day")).toBe(24);
89
- expect(result.start.get("weekday")).toBe(3);
90
-
91
- const resultDate = result.start.date();
92
- const expectDate = new Date(2016, 8 - 1, 24, 12);
93
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
94
- });
95
-
96
- testSingleCase(chrono.zh.hans, "我下星期天打游戏", new Date(2016, 9 - 1, 2), (result) => {
97
- expect(result.index).toBe(1);
98
- expect(result.text).toBe("下星期天");
99
-
100
- expect(result.start).not.toBeNull();
101
- expect(result.start.get("year")).toBe(2016);
102
- expect(result.start.get("month")).toBe(9);
103
- expect(result.start.get("day")).toBe(4);
104
- expect(result.start.get("weekday")).toBe(0);
105
-
106
- const resultDate = result.start.date();
107
- const expectDate = new Date(2016, 9 - 1, 4, 12);
108
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
109
- });
110
- });
111
-
112
- test("Test - 'this' week", function () {
113
- testSingleCase(chrono.zh.hans, "我这个星期一要打游戏", new Date(2012, 7, 10), (result) => {
114
- expect(result.index).toBe(1);
115
- expect(result.text).toBe("这个星期一");
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(6);
121
- expect(result.start.get("weekday")).toBe(1);
122
-
123
- const resultDate = result.start.date();
124
- const expectDate = new Date(2012, 7, 6, 12);
125
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
126
- });
127
-
128
- testSingleCase(chrono.zh.hans, "星期一", new Date(2012, 7, 10), (result) => {
129
- expect(result.start.get("year")).toBe(2012);
130
- expect(result.start.get("month")).toBe(8);
131
- expect(result.start.get("day")).toBe(13);
132
- expect(result.start.get("weekday")).toBe(1);
133
-
134
- const resultDate = result.start.date();
135
- const expectDate = new Date(2012, 8 - 1, 13, 12);
136
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
137
- });
138
- });
139
-
140
- test("Test - Range with different separators", function () {
141
- const text = "星期六至星期一";
142
- testSingleCase(chrono.zh.hans, text, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
143
- expect(result.text).toBe(text);
144
- expect(result.start.get("day")).toBe(3);
145
- expect(result.end.get("day")).toBe(5);
146
- });
147
-
148
- const text2 = "星期六到星期一";
149
- testSingleCase(chrono.zh.hans, text2, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
150
- expect(result.text).toBe(text2);
151
- expect(result.start.get("day")).toBe(3);
152
- expect(result.end.get("day")).toBe(5);
153
- });
154
-
155
- const text3 = "星期六~星期一";
156
- testSingleCase(chrono.zh.hans, text3, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
157
- expect(result.text).toBe(text3);
158
- expect(result.start.get("day")).toBe(3);
159
- expect(result.end.get("day")).toBe(5);
160
- });
161
-
162
- const text4 = "星期六~星期一";
163
- testSingleCase(chrono.zh.hans, text4, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
164
- expect(result.text).toBe(text4);
165
- expect(result.start.get("day")).toBe(3);
166
- expect(result.end.get("day")).toBe(5);
167
- });
168
-
169
- const text5 = "星期六-星期一";
170
- testSingleCase(chrono.zh.hans, text5, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
171
- expect(result.text).toBe(text5);
172
- expect(result.start.get("day")).toBe(3);
173
- expect(result.end.get("day")).toBe(5);
174
- });
175
-
176
- const text6 = "星期六ー星期一";
177
- testSingleCase(chrono.zh.hans, text6, new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
178
- expect(result.text).toBe(text6);
179
- expect(result.start.get("day")).toBe(3);
180
- expect(result.end.get("day")).toBe(5);
181
- });
182
- });
183
-
184
- test("Test - forward dates only option", function () {
185
- testSingleCase(chrono.zh.hans, "星期六-星期一", new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
186
- expect(result.index).toBe(0);
187
- expect(result.text).toBe("星期六-星期一");
188
-
189
- expect(result.start).not.toBeNull();
190
- expect(result.start.get("year")).toBe(2016);
191
- expect(result.start.get("month")).toBe(9);
192
- expect(result.start.get("day")).toBe(3);
193
- expect(result.start.get("weekday")).toBe(6);
194
-
195
- expect(result.start.isCertain("day")).toBe(false);
196
- expect(result.start.isCertain("month")).toBe(false);
197
- expect(result.start.isCertain("year")).toBe(false);
198
- expect(result.start.isCertain("weekday")).toBe(true);
199
-
200
- let resultDate = result.start.date();
201
- let expectDate = new Date(2016, 9 - 1, 3, 12);
202
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
203
-
204
- expect(result.end).not.toBeNull();
205
- expect(result.end.get("year")).toBe(2016);
206
- expect(result.end.get("month")).toBe(9);
207
- expect(result.end.get("day")).toBe(5);
208
- expect(result.end.get("weekday")).toBe(1);
209
-
210
- expect(result.end.isCertain("day")).toBe(false);
211
- expect(result.end.isCertain("month")).toBe(false);
212
- expect(result.end.isCertain("year")).toBe(false);
213
- expect(result.end.isCertain("weekday")).toBe(true);
214
-
215
- resultDate = result.end.date();
216
- expectDate = new Date(2016, 9 - 1, 5, 12);
217
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
218
- });
219
- });
@@ -1,260 +0,0 @@
1
- import * as chrono from "../../../src";
2
- import { testSingleCase } from "../../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.zh.hant, "雞而家全部都係雞", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
6
- expect(result.index).toBe(1);
7
- expect(result.text).toBe("而家");
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
- const resultDate = result.start.date();
19
- const expectDate = new Date(2012, 7, 10, 8, 9, 10, 11);
20
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
21
- });
22
-
23
- testSingleCase(chrono.zh.hant, "雞今日全部都係雞", new Date(2012, 7, 10, 12), (result) => {
24
- expect(result.index).toBe(1);
25
- expect(result.text).toBe("今日");
26
-
27
- expect(result.start).not.toBeNull();
28
- expect(result.start.get("year")).toBe(2012);
29
- expect(result.start.get("month")).toBe(8);
30
- expect(result.start.get("day")).toBe(10);
31
-
32
- const resultDate = result.start.date();
33
- const expectDate = new Date(2012, 7, 10, 12);
34
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
35
- });
36
-
37
- testSingleCase(chrono.zh.hant, "雞聽日全部都係雞", new Date(2012, 7, 10, 12), (result) => {
38
- expect(result.index).toBe(1);
39
- expect(result.text).toBe("聽日");
40
-
41
- expect(result.start).not.toBeNull();
42
- expect(result.start.get("year")).toBe(2012);
43
- expect(result.start.get("month")).toBe(8);
44
- expect(result.start.get("day")).toBe(11);
45
-
46
- const resultDate = result.start.date();
47
- const expectDate = new Date(2012, 7, 11, 12);
48
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
49
- });
50
-
51
- testSingleCase(chrono.zh.hant, "雞明天全部都係雞", new Date(2012, 7, 10, 1), (result) => {
52
- // Say.."Tomorrow" in the late night (1 AM)
53
- const resultDate = result.start.date();
54
- const expectDate = new Date(2012, 7, 10, 12);
55
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
56
- });
57
-
58
- testSingleCase(chrono.zh.hant, "雞後天凌晨全部都係雞", new Date(2012, 7, 10, 0, 0), (result) => {
59
- const resultDate = result.start.date();
60
- const expectDate = new Date(2012, 7, 12, 0, 0);
61
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
62
- });
63
-
64
- testSingleCase(chrono.zh.hant, "雞大前天凌晨全部都係雞", new Date(2012, 7, 10, 0, 0), (result) => {
65
- const resultDate = result.start.date();
66
- const expectDate = new Date(2012, 7, 7, 0, 0);
67
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
68
- });
69
-
70
- testSingleCase(chrono.zh.hant, "雞前日全部都係雞", new Date(2012, 7, 10, 12), (result) => {
71
- expect(result.index).toBe(1);
72
- expect(result.text).toBe("前日");
73
-
74
- expect(result.start).not.toBeNull();
75
- expect(result.start.get("year")).toBe(2012);
76
- expect(result.start.get("month")).toBe(8);
77
- expect(result.start.get("day")).toBe(8);
78
-
79
- const resultDate = result.start.date();
80
- const expectDate = new Date(2012, 7, 8, 12);
81
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
82
- });
83
-
84
- testSingleCase(chrono.zh.hant, "雞琴日全部都係雞", new Date(2012, 7, 10, 12), (result) => {
85
- expect(result.index).toBe(1);
86
- expect(result.text).toBe("琴日");
87
-
88
- expect(result.start).not.toBeNull();
89
- expect(result.start.get("year")).toBe(2012);
90
- expect(result.start.get("month")).toBe(8);
91
- expect(result.start.get("day")).toBe(9);
92
-
93
- const resultDate = result.start.date();
94
- const expectDate = new Date(2012, 7, 9, 12);
95
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
96
- });
97
-
98
- testSingleCase(chrono.zh.hant, "雞昨天晚上全部都係雞", new Date(2012, 7, 10, 12), (result) => {
99
- expect(result.index).toBe(1);
100
- expect(result.text).toBe("昨天晚上");
101
-
102
- expect(result.start).not.toBeNull();
103
- expect(result.start.get("year")).toBe(2012);
104
- expect(result.start.get("month")).toBe(8);
105
- expect(result.start.get("day")).toBe(9);
106
- expect(result.start.get("hour")).toBe(22);
107
-
108
- const resultDate = result.start.date();
109
- const expectDate = new Date(2012, 7, 9, 22);
110
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
111
- });
112
-
113
- testSingleCase(chrono.zh.hant, "雞今日朝早全部都係雞", new Date(2012, 7, 10, 12), (result) => {
114
- expect(result.index).toBe(1);
115
- expect(result.text).toBe("今日朝早");
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(6);
122
-
123
- const resultDate = result.start.date();
124
- const expectDate = new Date(2012, 7, 10, 6);
125
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
126
- });
127
-
128
- testSingleCase(chrono.zh.hant, "雞晏晝全部都係雞", new Date(2012, 7, 10, 12), (result) => {
129
- expect(result.index).toBe(1);
130
- expect(result.text).toBe("晏晝");
131
-
132
- expect(result.start).not.toBeNull();
133
- expect(result.start.get("year")).toBe(2012);
134
- expect(result.start.get("month")).toBe(8);
135
- expect(result.start.get("day")).toBe(10);
136
- expect(result.start.get("hour")).toBe(15);
137
-
138
- const resultDate = result.start.date();
139
- const expectDate = new Date(2012, 7, 10, 15);
140
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
141
- });
142
-
143
- testSingleCase(chrono.zh.hant, "雞今晚全部都係雞", new Date(2012, 7, 10, 12), (result) => {
144
- expect(result.index).toBe(1);
145
- expect(result.text).toBe("今晚");
146
-
147
- expect(result.start).not.toBeNull();
148
- expect(result.start.get("year")).toBe(2012);
149
- expect(result.start.get("month")).toBe(8);
150
- expect(result.start.get("day")).toBe(10);
151
- expect(result.start.get("hour")).toBe(22);
152
-
153
- const resultDate = result.start.date();
154
- const expectDate = new Date(2012, 7, 10, 22);
155
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
156
- });
157
- });
158
-
159
- test("Test - Combined Expression", function () {
160
- testSingleCase(chrono.zh.hant, "雞今日晏晝5點全部都係雞", new Date(2012, 7, 10, 12), (result) => {
161
- expect(result.index).toBe(1);
162
- expect(result.text).toBe("今日晏晝5點");
163
-
164
- expect(result.start).not.toBeNull();
165
- expect(result.start.get("year")).toBe(2012);
166
- expect(result.start.get("month")).toBe(8);
167
- expect(result.start.get("day")).toBe(10);
168
- expect(result.start.get("hour")).toBe(17);
169
-
170
- const resultDate = result.start.date();
171
- const expectDate = new Date(2012, 7, 10, 17);
172
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
173
- });
174
- });
175
-
176
- test("Test - Casual date range", function () {
177
- testSingleCase(chrono.zh.hant, "雞今日 - 下禮拜五全部都係雞", new Date(2012, 7, 4, 12), (result) => {
178
- expect(result.index).toBe(1);
179
- expect(result.text).toBe("今日 - 下禮拜五");
180
-
181
- expect(result.start).not.toBeNull();
182
- expect(result.start.get("year")).toBe(2012);
183
- expect(result.start.get("month")).toBe(8);
184
- expect(result.start.get("day")).toBe(4);
185
- expect(result.start.get("hour")).toBe(12);
186
-
187
- const resultStartDate = result.start.date();
188
- const expectStartDate = new Date(2012, 7, 4, 12);
189
- expect(resultStartDate.getTime()).toBeCloseTo(expectStartDate.getTime());
190
-
191
- expect(result.end).not.toBeNull();
192
- expect(result.end.get("year")).toBe(2012);
193
- expect(result.end.get("month")).toBe(8);
194
- expect(result.end.get("day")).toBe(10);
195
- expect(result.end.get("hour")).toBe(12);
196
-
197
- const resultEndDate = result.end.date();
198
- const expectEndDate = new Date(2012, 7, 10, 12);
199
- expect(expectEndDate.getTime()).toBeCloseTo(resultEndDate.getTime());
200
- });
201
-
202
- testSingleCase(chrono.zh.hant, "雞今日 - 下禮拜五全部都係雞", new Date(2012, 7, 10, 12), (result) => {
203
- expect(result.index).toBe(1);
204
- expect(result.text).toBe("今日 - 下禮拜五");
205
-
206
- expect(result.start).not.toBeNull();
207
- expect(result.start.get("year")).toBe(2012);
208
- expect(result.start.get("month")).toBe(8);
209
- expect(result.start.get("day")).toBe(10);
210
- expect(result.start.get("hour")).toBe(12);
211
-
212
- const resultStartDate = result.start.date();
213
- const expectStartDate = new Date(2012, 7, 10, 12);
214
- expect(expectStartDate.getTime()).toBeCloseTo(resultStartDate.getTime());
215
-
216
- expect(result.end).not.toBeNull();
217
- expect(result.end.get("year")).toBe(2012);
218
- expect(result.end.get("month")).toBe(8);
219
- expect(result.end.get("day")).toBe(17);
220
- expect(result.end.get("hour")).toBe(12);
221
-
222
- const resultEndDate = result.end.date();
223
- const expectEndDate = new Date(2012, 7, 17, 12);
224
- expect(expectEndDate.getTime()).toBeCloseTo(resultEndDate.getTime());
225
- });
226
- });
227
-
228
- test("Test - Random text", function () {
229
- testSingleCase(chrono.zh.hant, "今日夜晚", new Date(2012, 1 - 1, 1, 12), (result) => {
230
- expect(result.text).toBe("今日夜晚");
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("hour")).toBe(22);
235
- expect(result.start.get("meridiem")).toBe(1);
236
- });
237
-
238
- testSingleCase(chrono.zh.hant, "今晚8點正", new Date(2012, 1 - 1, 1, 12), (result) => {
239
- expect(result.text).toBe("今晚8點正");
240
- expect(result.start.get("hour")).toBe(20);
241
- expect(result.start.get("year")).toBe(2012);
242
- expect(result.start.get("month")).toBe(1);
243
- expect(result.start.get("day")).toBe(1);
244
- expect(result.start.get("meridiem")).toBe(1);
245
- });
246
-
247
- testSingleCase(chrono.zh.hant, "晚上8點", new Date(2012, 1 - 1, 1, 12), (result) => {
248
- expect(result.text).toBe("晚上8點");
249
- expect(result.start.get("hour")).toBe(20);
250
- expect(result.start.get("year")).toBe(2012);
251
- expect(result.start.get("month")).toBe(1);
252
- expect(result.start.get("day")).toBe(1);
253
- expect(result.start.get("meridiem")).toBe(1);
254
- });
255
-
256
- testSingleCase(chrono.zh.hant, "星期四", new Date(), (result) => {
257
- expect(result.text).toBe("星期四");
258
- expect(result.start.get("weekday")).toBe(4);
259
- });
260
- });
@@ -1,116 +0,0 @@
1
- import * as chrono from "../../../src";
2
- import { testSingleCase } from "../../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.zh.hant, "雞2016年9月3號全部都係雞", new Date(2012, 8 - 1, 10), (result) => {
6
- expect(result.index).toBe(1);
7
- expect(result.text).toBe("2016年9月3號");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("year")).toBe(2016);
11
- expect(result.start.get("month")).toBe(9);
12
- expect(result.start.get("day")).toBe(3);
13
-
14
- const resultDate = result.start.date();
15
- const expectDate = new Date(2016, 9 - 1, 3, 12);
16
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
17
- });
18
-
19
- testSingleCase(chrono.zh.hant, "雞二零一六年,九月三號全部都係雞", new Date(2012, 8 - 1, 10), (result) => {
20
- expect(result.index).toBe(1);
21
- expect(result.text).toBe("二零一六年,九月三號");
22
-
23
- expect(result.start).not.toBeNull();
24
- expect(result.start.get("year")).toBe(2016);
25
- expect(result.start.get("month")).toBe(9);
26
- expect(result.start.get("day")).toBe(3);
27
-
28
- const resultDate = result.start.date();
29
- const expectDate = new Date(2016, 9 - 1, 3, 12);
30
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
31
- });
32
-
33
- testSingleCase(chrono.zh.hant, "雞九月三號全部都係雞", new Date(2014, 8 - 1, 10), (result) => {
34
- expect(result.index).toBe(1);
35
- expect(result.text).toBe("九月三號");
36
-
37
- expect(result.start).not.toBeNull();
38
- expect(result.start.get("year")).toBe(2014);
39
- expect(result.start.get("month")).toBe(9);
40
- expect(result.start.get("day")).toBe(3);
41
-
42
- const resultDate = result.start.date();
43
- const expectDate = new Date(2014, 9 - 1, 3, 12);
44
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
45
- });
46
-
47
- testSingleCase(chrono.zh.hant, "2016年09月03日", new Date(2012, 8 - 1, 10), (result) => {
48
- expect(result.index).toBe(0);
49
- expect(result.text).toBe("2016年09月03日");
50
-
51
- expect(result.start).not.toBeNull();
52
- expect(result.start.get("year")).toBe(2016);
53
- expect(result.start.get("month")).toBe(9);
54
- expect(result.start.get("day")).toBe(3);
55
-
56
- const resultDate = result.start.date();
57
- const expectDate = new Date(2016, 9 - 1, 3, 12);
58
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
59
- });
60
- });
61
-
62
- test("Test - Range Expression", function () {
63
- testSingleCase(chrono.zh.hant, "2016年9月3號-2017年10月24號", new Date(2012, 8 - 1, 10), (result) => {
64
- expect(result.index).toBe(0);
65
- expect(result.text).toBe("2016年9月3號-2017年10月24號");
66
-
67
- expect(result.start).not.toBeNull();
68
- expect(result.start.get("year")).toBe(2016);
69
- expect(result.start.get("month")).toBe(9);
70
- expect(result.start.get("day")).toBe(3);
71
-
72
- {
73
- const resultDate = result.start.date();
74
- const expectDate = new Date(2016, 9 - 1, 3, 12);
75
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
76
- }
77
-
78
- expect(result.end).not.toBeNull();
79
- expect(result.end.get("year")).toBe(2017);
80
- expect(result.end.get("month")).toBe(10);
81
- expect(result.end.get("day")).toBe(24);
82
-
83
- {
84
- const resultDate = result.end.date();
85
- const expectDate = new Date(2017, 10 - 1, 24, 12);
86
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
87
- }
88
- });
89
-
90
- testSingleCase(chrono.zh.hant, "二零一六年九月三號ー2017年10月24號", new Date(2012, 8 - 1, 10), (result) => {
91
- expect(result.index).toBe(0);
92
- expect(result.text).toBe("二零一六年九月三號ー2017年10月24號");
93
-
94
- expect(result.start).not.toBeNull();
95
- expect(result.start.get("year")).toBe(2016);
96
- expect(result.start.get("month")).toBe(9);
97
- expect(result.start.get("day")).toBe(3);
98
-
99
- {
100
- const resultDate = result.start.date();
101
- const expectDate = new Date(2016, 9 - 1, 3, 12);
102
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
103
- }
104
-
105
- expect(result.end).not.toBeNull();
106
- expect(result.end.get("year")).toBe(2017);
107
- expect(result.end.get("month")).toBe(10);
108
- expect(result.end.get("day")).toBe(24);
109
-
110
- {
111
- const resultDate = result.end.date();
112
- const expectDate = new Date(2017, 10 - 1, 24, 12);
113
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
114
- }
115
- });
116
- });