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,175 +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(2012, 7, 10), (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(2012);
11
- expect(result.start.get("month")).toBe(8);
12
- expect(result.start.get("day")).toBe(15);
13
-
14
- const resultDate = result.start.date();
15
- const expectDate = new Date(2012, 8 - 1, 15, 12);
16
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
17
- });
18
-
19
- testSingleCase(chrono.zh.hans, "5日之内我要通关游戏", new Date(2012, 7, 10), (result) => {
20
- expect(result.index).toBe(0);
21
- expect(result.text).toBe("5日之内");
22
-
23
- expect(result.start).not.toBeNull();
24
- expect(result.start.get("year")).toBe(2012);
25
- expect(result.start.get("month")).toBe(8);
26
- expect(result.start.get("day")).toBe(15);
27
-
28
- const resultDate = result.start.date();
29
- const expectDate = new Date(2012, 8 - 1, 15, 12);
30
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
31
- });
32
-
33
- testSingleCase(chrono.zh.hans, "十日内我要通关游戏", new Date(2012, 7, 10), (result) => {
34
- expect(result.index).toBe(0);
35
- expect(result.text).toBe("十日内");
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(20);
41
-
42
- const resultDate = result.start.date();
43
- const expectDate = new Date(2012, 8 - 1, 20, 12);
44
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
45
- });
46
-
47
- testSingleCase(chrono.zh.hans, "五分钟后", new Date(2012, 7, 10, 12, 14), (result) => {
48
- expect(result.index).toBe(0);
49
- expect(result.text).toBe("五分钟后");
50
-
51
- const resultDate = result.start.date();
52
- const expectDate = new Date(2012, 7, 10, 12, 19);
53
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
54
- });
55
-
56
- testSingleCase(chrono.zh.hans, "一个钟之内", new Date(2012, 7, 10, 12, 14), (result) => {
57
- expect(result.index).toBe(0);
58
- expect(result.text).toBe("一个钟之内");
59
-
60
- const resultDate = result.start.date();
61
- const expectDate = new Date(2012, 7, 10, 13, 14);
62
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
63
- });
64
-
65
- testSingleCase(chrono.zh.hans, "5分钟之后出门", new Date(2012, 7, 10, 12, 14), (result) => {
66
- expect(result.index).toBe(0);
67
- expect(result.text).toBe("5分钟之后");
68
-
69
- const resultDate = result.start.date();
70
- const expectDate = new Date(2012, 7, 10, 12, 19);
71
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
72
- });
73
-
74
- testSingleCase(chrono.zh.hans, "我要5秒之后出门", new Date(2012, 7, 10, 12, 14), (result) => {
75
- expect(result.index).toBe(2);
76
- expect(result.text).toBe("5秒之后");
77
-
78
- const resultDate = result.start.date();
79
- const expectDate = new Date(2012, 7, 10, 12, 14, 5);
80
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
81
- });
82
-
83
- testSingleCase(chrono.zh.hans, "半小时之内", new Date(2012, 7, 10, 12, 14), (result) => {
84
- expect(result.index).toBe(0);
85
- expect(result.text).toBe("半小时之内");
86
-
87
- const resultDate = result.start.date();
88
- const expectDate = new Date(2012, 7, 10, 12, 44);
89
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
90
- });
91
-
92
- testSingleCase(chrono.zh.hans, "两个礼拜内答复我", new Date(2012, 7, 10, 12, 14), (result) => {
93
- expect(result.index).toBe(0);
94
- expect(result.text).toBe("两个礼拜内");
95
-
96
- const resultDate = result.start.date();
97
- const expectDate = new Date(2012, 7, 24, 12);
98
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
99
- });
100
-
101
- testSingleCase(chrono.zh.hans, "1个月之内答复我", new Date(2012, 7, 10, 12, 14), (result) => {
102
- expect(result.index).toBe(0);
103
- expect(result.text).toBe("1个月之内");
104
-
105
- const resultDate = result.start.date();
106
- const expectDate = new Date(2012, 8, 10, 12);
107
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
108
- });
109
-
110
- testSingleCase(chrono.zh.hans, "几个月之内答复我", new Date(2012, 7, 10, 12, 14), (result) => {
111
- expect(result.index).toBe(0);
112
- expect(result.text).toBe("几个月之内");
113
-
114
- const resultDate = result.start.date();
115
- const expectDate = new Date(2012, 10, 10, 12);
116
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
117
- });
118
-
119
- testSingleCase(chrono.zh.hans, "一年内答复我", new Date(2012, 7, 10, 12, 14), (result) => {
120
- expect(result.index).toBe(0);
121
- expect(result.text).toBe("一年内");
122
-
123
- const resultDate = result.start.date();
124
- const expectDate = new Date(2013, 7, 10, 12);
125
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
126
- });
127
-
128
- testSingleCase(chrono.zh.hans, "1年之内答复我", new Date(2012, 7, 10, 12, 14), (result) => {
129
- expect(result.index).toBe(0);
130
- expect(result.text).toBe("1年之内");
131
-
132
- const resultDate = result.start.date();
133
- const expectDate = new Date(2013, 7, 10, 12);
134
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
135
- });
136
- });
137
-
138
- test("Test - Untested units", function () {
139
- testSingleCase(chrono.zh.hans, "5秒钟后", new Date(2012, 7, 10, 12, 14), (result) => {
140
- expect(result.text).toBe("5秒钟后");
141
- const resultDate = result.start.date();
142
- const expectDate = new Date(2012, 7, 10, 12, 14, 5);
143
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
144
- });
145
-
146
- testSingleCase(chrono.zh.hans, "2小时后", new Date(2012, 7, 10, 12, 14), (result) => {
147
- expect(result.text).toBe("2小时后");
148
- const resultDate = result.start.date();
149
- const expectDate = new Date(2012, 7, 10, 14, 14);
150
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
151
- });
152
-
153
- testSingleCase(chrono.zh.hans, "3天后", new Date(2012, 7, 10, 12, 14), (result) => {
154
- expect(result.text).toBe("3天后");
155
- const resultDate = result.start.date();
156
- const expectDate = new Date(2012, 7, 13, 12);
157
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
158
- });
159
-
160
- testSingleCase(chrono.zh.hans, "2星期后", new Date(2012, 7, 10, 12, 14), (result) => {
161
- expect(result.text).toBe("2星期后");
162
- const resultDate = result.start.date();
163
- const expectDate = new Date(2012, 7, 24, 12);
164
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
165
- });
166
- });
167
-
168
- test("Test - Untested suffix", function () {
169
- testSingleCase(chrono.zh.hans, "5分钟过后", new Date(2012, 7, 10, 12, 14), (result) => {
170
- expect(result.text).toBe("5分钟过后");
171
- const resultDate = result.start.date();
172
- const expectDate = new Date(2012, 7, 10, 12, 19);
173
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
174
- });
175
- });
@@ -1,508 +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, "我上午6点13分打游戏", new Date(2012, 7, 10), (result) => {
6
- expect(result.index).toBe(1);
7
- expect(result.text).toBe("上午6点13分");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("hour")).toBe(6);
11
- expect(result.start.get("minute")).toBe(13);
12
-
13
- const resultDate = result.start.date();
14
- const expectDate = new Date(2012, 7, 10, 6, 13);
15
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
16
- });
17
-
18
- testSingleCase(chrono.zh.hans, "我后天凌晨打游戏", new Date(2012, 7, 10, 0, 0), (result) => {
19
- expect(result.index).toBe(1);
20
- expect(result.text).toBe("后天凌晨");
21
-
22
- const resultDate = result.start.date();
23
- const expectDate = new Date(2012, 7, 12, 0, 0);
24
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
25
- });
26
-
27
- testSingleCase(chrono.zh.hans, "我大前天凌晨打游戏", new Date(2012, 7, 10, 0, 0), (result) => {
28
- expect(result.index).toBe(1);
29
- expect(result.text).toBe("大前天凌晨");
30
-
31
- const resultDate = result.start.date();
32
- const expectDate = new Date(2012, 7, 7, 0, 0);
33
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
34
- });
35
-
36
- testSingleCase(chrono.zh.hans, "我明天上午8点要打游戏", new Date(2012, 7, 10, 12), (result) => {
37
- expect(result.index).toBe(1);
38
- expect(result.text).toBe("明天上午8点");
39
-
40
- expect(result.start).not.toBeNull();
41
- expect(result.start.get("year")).toBe(2012);
42
- expect(result.start.get("month")).toBe(8);
43
- expect(result.start.get("day")).toBe(11);
44
- expect(result.start.get("hour")).toBe(8);
45
-
46
- const resultDate = result.start.date();
47
- const expectDate = new Date(2012, 7, 11, 8);
48
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
49
- });
50
-
51
- testSingleCase(chrono.zh.hans, "早上8点", new Date(2012, 8 - 1, 10, 12), (result) => {
52
- expect(result.text).toBe("早上8点");
53
-
54
- expect(result.start).not.toBeNull();
55
- expect(result.start.get("year")).toBe(2012);
56
- expect(result.start.get("month")).toBe(8);
57
- expect(result.start.get("day")).toBe(10);
58
- expect(result.start.get("hour")).toBe(8);
59
-
60
- const resultDate = result.start.date();
61
- const expectDate = new Date(2012, 8 - 1, 10, 8);
62
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
63
- });
64
- });
65
-
66
- test("Test - Range Expression", function () {
67
- testSingleCase(chrono.zh.hans, "我从今早八点十分至下午11点32分打游戏", new Date(2012, 7, 10), (result) => {
68
- expect(result.index).toBe(1);
69
- expect(result.text).toBe("从今早八点十分至下午11点32分");
70
-
71
- expect(result.start).not.toBeNull();
72
- expect(result.start.get("hour")).toBe(8);
73
- expect(result.start.get("minute")).toBe(10);
74
-
75
- expect(result.start.isCertain("day")).toBe(true);
76
- expect(result.start.isCertain("month")).toBe(true);
77
- expect(result.start.isCertain("year")).toBe(true);
78
- expect(result.start.isCertain("hour")).toBe(true);
79
- expect(result.start.isCertain("minute")).toBe(true);
80
- expect(result.start.isCertain("second")).toBe(false);
81
- expect(result.start.isCertain("millisecond")).toBe(false);
82
-
83
- let resultDate = result.start.date();
84
- let expectDate = new Date(2012, 7, 10, 8, 10);
85
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
86
-
87
- expect(result.end).not.toBeNull();
88
- expect(result.end.get("hour")).toBe(23);
89
- expect(result.end.get("minute")).toBe(32);
90
-
91
- expect(result.end.isCertain("day")).toBe(false);
92
- expect(result.end.isCertain("month")).toBe(false);
93
- expect(result.end.isCertain("year")).toBe(false);
94
- expect(result.end.isCertain("hour")).toBe(true);
95
- expect(result.end.isCertain("minute")).toBe(true);
96
- expect(result.end.isCertain("second")).toBe(false);
97
- expect(result.end.isCertain("millisecond")).toBe(false);
98
-
99
- resultDate = result.end.date();
100
- expectDate = new Date(2012, 7, 10, 23, 32);
101
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
102
- });
103
-
104
- testSingleCase(chrono.zh.hans, "6点30pm-11点pm", new Date(2012, 7, 10), (result) => {
105
- expect(result.index).toBe(0);
106
- expect(result.text).toBe("6点30pm-11点pm");
107
-
108
- expect(result.start).not.toBeNull();
109
- expect(result.start.get("hour")).toBe(18);
110
- expect(result.start.get("minute")).toBe(30);
111
- expect(result.start.get("meridiem")).toBe(1);
112
-
113
- let resultDate = result.start.date();
114
- let expectDate = new Date(2012, 7, 10, 18, 30);
115
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
116
-
117
- expect(result.end).not.toBeNull();
118
- expect(result.end.get("hour")).toBe(23);
119
- expect(result.end.get("minute")).toBe(0);
120
- expect(result.end.get("meridiem")).toBe(1);
121
-
122
- resultDate = result.end.date();
123
- expectDate = new Date(2012, 7, 10, 23, 0);
124
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
125
- });
126
- });
127
-
128
- test("Test - Date + Time Expression", function () {
129
- testSingleCase(
130
- chrono.zh.hans,
131
- "我二零一八年十一月二十六日下午三点半五十九秒打游戏",
132
- new Date(2012, 7, 10),
133
- (result) => {
134
- expect(result.index).toBe(1);
135
- expect(result.text).toBe("二零一八年十一月二十六日下午三点半五十九秒");
136
-
137
- expect(result.start.get("year")).toBe(2018);
138
- expect(result.start.get("month")).toBe(11);
139
- expect(result.start.get("day")).toBe(26);
140
- expect(result.start.get("hour")).toBe(15);
141
- expect(result.start.get("minute")).toBe(30);
142
- expect(result.start.get("second")).toBe(59);
143
- expect(result.start.get("millisecond")).toBe(0);
144
- expect(result.start.isCertain("millisecond")).toBe(false);
145
-
146
- const resultDate = result.start.date();
147
- const expectDate = new Date(2018, 11 - 1, 26, 15, 30, 59);
148
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
149
- }
150
- );
151
- });
152
-
153
- test("Test - Time Expression's Meridiem imply", function () {
154
- testSingleCase(chrono.zh.hans, "1点pm到3点", new Date(2012, 7, 10), (result) => {
155
- expect(result.index).toBe(0);
156
- expect(result.text).toBe("1点pm到3点");
157
-
158
- expect(result.start.get("year")).toBe(2012);
159
- expect(result.start.get("month")).toBe(8);
160
- expect(result.start.get("day")).toBe(10);
161
- expect(result.start.get("hour")).toBe(13);
162
- expect(result.start.get("minute")).toBe(0);
163
- expect(result.start.get("second")).toBe(0);
164
- expect(result.start.get("millisecond")).toBe(0);
165
- expect(result.start.get("meridiem")).toBe(1);
166
- expect(result.start.isCertain("meridiem")).toBe(true);
167
-
168
- expect(result.end.get("year")).toBe(2012);
169
- expect(result.end.get("month")).toBe(8);
170
- expect(result.end.get("day")).toBe(11);
171
- expect(result.end.get("hour")).toBe(3);
172
- expect(result.end.get("minute")).toBe(0);
173
- expect(result.end.get("second")).toBe(0);
174
- expect(result.end.get("millisecond")).toBe(0);
175
- expect(result.end.isCertain("meridiem")).toBe(false);
176
- });
177
- });
178
-
179
- test("Test - Random date + time expression", function () {
180
- testSingleCase(chrono.zh.hans, "2014年, 3月5日早上 6 点至 7 点", new Date(2012, 7, 10), (result) => {
181
- expect(result.text).toBe("2014年, 3月5日早上 6 点至 7 点");
182
- });
183
-
184
- testSingleCase(chrono.zh.hans, "下星期六凌晨1点30分二十九秒", new Date(2012, 7, 10), (result) => {
185
- expect(result.text).toBe("下星期六凌晨1点30分二十九秒");
186
- });
187
-
188
- testSingleCase(chrono.zh.hans, "昨天早上六点正", new Date(2012, 7, 10), (result) => {
189
- expect(result.text).toBe("昨天早上六点正");
190
- });
191
-
192
- testSingleCase(chrono.zh.hans, "六月四日3:00am", new Date(2012, 7, 10), (result) => {
193
- expect(result.text).toBe("六月四日3:00am");
194
- });
195
-
196
- testSingleCase(chrono.zh.hans, "上个礼拜五16时", new Date(2012, 7, 10), (result) => {
197
- expect(result.text).toBe("上个礼拜五16时");
198
- });
199
-
200
- testSingleCase(chrono.zh.hans, "3月17日 20点15", new Date(2012, 7, 10), (result) => {
201
- expect(result.text).toBe("3月17日 20点15");
202
- });
203
-
204
- testSingleCase(chrono.zh.hans, "10点", new Date(2012, 7, 10), (result) => {
205
- expect(result.text).toBe("10点");
206
- });
207
-
208
- testSingleCase(chrono.zh.hans, "中午12点", new Date(2012, 7, 10), (result) => {
209
- expect(result.start.get("hour")).toBe(12);
210
- });
211
-
212
- testSingleCase(chrono.zh.hans, "今晚10时", new Date(2012, 7, 10), (result) => {
213
- expect(result.start.get("hour")).toBe(22);
214
- });
215
-
216
- testSingleCase(chrono.zh.hans, "昨晚8点", new Date(2012, 7, 10), (result) => {
217
- expect(result.start.get("day")).toBe(9);
218
- expect(result.start.get("hour")).toBe(20);
219
- });
220
-
221
- testSingleCase(chrono.zh.hans, "前天下午三点", new Date(2012, 7, 10), (result) => {
222
- expect(result.start.get("day")).toBe(8);
223
- expect(result.start.get("hour")).toBe(15);
224
- });
225
-
226
- // "大后天" is parsed as "后天"
227
- testSingleCase(chrono.zh.hans, "大后天晚上9点30分", new Date(2012, 7, 10), (result) => {
228
- expect(result.start.get("day")).toBe(13);
229
- expect(result.start.get("hour")).toBe(21);
230
- expect(result.start.get("minute")).toBe(30);
231
- });
232
-
233
- testSingleCase(chrono.zh.hans, "三点", new Date(2012, 7, 10, 1), (result) => {
234
- expect(result.start.get("hour")).toBe(3);
235
- });
236
-
237
- // TODO: This test fails because of a bug in the parser.
238
- // The AM/PM context is not correctly applied to the end of the range.
239
- // testSingleCase(chrono.zh.hans, "下午5点-7点", new Date(2012, 7, 10), (result) => {
240
- // expect(result.start.get("hour")).toBe(17);
241
- // expect(result.end.get("hour")).toBe(19);
242
- // });
243
-
244
- testSingleCase(chrono.zh.hans, "晚上11点 ~ 凌晨2点", new Date(2012, 7, 10), (result) => {
245
- expect(result.start.get("hour")).toBe(23);
246
- expect(result.end.get("hour")).toBe(2);
247
- expect(result.end.get("day")).toBe(11);
248
- });
249
- });
250
-
251
- test("Test - YYYY-MM-DD HH:mm:ss format", function () {
252
- testSingleCase(chrono.zh.hans, "2023-10-26 10:30:00", new Date(2012, 7, 10), (result) => {
253
- expect(result.text).toBe("2023-10-26 10:30:00");
254
- expect(result.start.get("year")).toBe(2023);
255
- expect(result.start.get("month")).toBe(10);
256
- expect(result.start.get("day")).toBe(26);
257
- expect(result.start.get("hour")).toBe(10);
258
- expect(result.start.get("minute")).toBe(30);
259
- expect(result.start.get("second")).toBe(0);
260
- });
261
- });
262
-
263
- test("Test - Range Expression with days", function () {
264
- testSingleCase(chrono.zh.hans, "今晚10点 - 明天早上6点", new Date(2012, 7, 10), (result) => {
265
- expect(result.start.get("year")).toBe(2012);
266
- expect(result.start.get("month")).toBe(8);
267
- expect(result.start.get("day")).toBe(10);
268
- expect(result.start.get("hour")).toBe(22);
269
-
270
- expect(result.end.get("year")).toBe(2012);
271
- expect(result.end.get("month")).toBe(8);
272
- expect(result.end.get("day")).toBe(11);
273
- expect(result.end.get("hour")).toBe(6);
274
- });
275
-
276
- testSingleCase(chrono.zh.hans, "今天早上9点 - 后天凌晨3点", new Date(2012, 7, 10), (result) => {
277
- expect(result.start.get("year")).toBe(2012);
278
- expect(result.start.get("month")).toBe(8);
279
- expect(result.start.get("day")).toBe(10);
280
- expect(result.start.get("hour")).toBe(9);
281
-
282
- expect(result.end.get("year")).toBe(2012);
283
- expect(result.end.get("month")).toBe(8);
284
- expect(result.end.get("day")).toBe(12);
285
- expect(result.end.get("hour")).toBe(3);
286
- });
287
-
288
- testSingleCase(chrono.zh.hans, "今晚10点 - 明早6点", new Date(2012, 7, 10, 12), (result) => {
289
- expect(result.start.get("year")).toBe(2012);
290
- expect(result.start.get("month")).toBe(8);
291
- expect(result.start.get("day")).toBe(10);
292
- expect(result.start.get("hour")).toBe(22);
293
-
294
- expect(result.end.get("year")).toBe(2012);
295
- expect(result.end.get("month")).toBe(8);
296
- expect(result.end.get("day")).toBe(11);
297
- expect(result.end.get("hour")).toBe(6);
298
- });
299
- });
300
-
301
- test("Test - Range Expression with seconds", function () {
302
- testSingleCase(chrono.zh.hans, "9:00:00 - 9:00:30", new Date(2012, 7, 10), (result) => {
303
- expect(result.start.get("hour")).toBe(9);
304
- expect(result.start.get("minute")).toBe(0);
305
- expect(result.start.get("second")).toBe(0);
306
-
307
- expect(result.end.get("hour")).toBe(9);
308
- expect(result.end.get("minute")).toBe(0);
309
- expect(result.end.get("second")).toBe(30);
310
- });
311
- });
312
-
313
- test("Test - Range Expression with AM/PM variations", function () {
314
- testSingleCase(chrono.zh.hans, "下午2点 - 晚上8点", new Date(2012, 7, 10), (result) => {
315
- expect(result.start.get("year")).toBe(2012);
316
- expect(result.start.get("month")).toBe(8);
317
- expect(result.start.get("day")).toBe(10);
318
- expect(result.start.get("hour")).toBe(14);
319
-
320
- expect(result.end.get("year")).toBe(2012);
321
- expect(result.end.get("month")).toBe(8);
322
- expect(result.end.get("day")).toBe(10);
323
- expect(result.end.get("hour")).toBe(20);
324
- });
325
-
326
- testSingleCase(chrono.zh.hans, "3点 - 5点PM", new Date(2012, 7, 10, 12), (result) => {
327
- // Context is 12:00, so 3 is likely 15:00 (3PM)
328
- expect(result.start.get("year")).toBe(2012);
329
- expect(result.start.get("month")).toBe(8);
330
- expect(result.start.get("day")).toBe(10);
331
- expect(result.start.get("hour")).toBe(15);
332
-
333
- expect(result.end.get("year")).toBe(2012);
334
- expect(result.end.get("month")).toBe(8);
335
- expect(result.end.get("day")).toBe(10);
336
- expect(result.end.get("hour")).toBe(17);
337
- });
338
- });
339
-
340
- test("Test - Range Expression with days variations", function () {
341
- // "Yesterday" (昨)
342
- testSingleCase(chrono.zh.hans, "今晚10点 - 昨晚10点", new Date(2012, 7, 10, 12), (result) => {
343
- expect(result.start.get("year")).toBe(2012);
344
- expect(result.start.get("month")).toBe(8);
345
- expect(result.start.get("day")).toBe(10);
346
- expect(result.end.get("year")).toBe(2012);
347
- expect(result.end.get("month")).toBe(8);
348
- expect(result.end.get("day")).toBe(9);
349
- });
350
-
351
- // "Day before yesterday" (前)
352
- testSingleCase(chrono.zh.hans, "今晚10点 - 前天晚上10点", new Date(2012, 7, 10, 12), (result) => {
353
- expect(result.start.get("year")).toBe(2012);
354
- expect(result.start.get("month")).toBe(8);
355
- expect(result.start.get("day")).toBe(10);
356
- expect(result.end.get("year")).toBe(2012);
357
- expect(result.end.get("month")).toBe(8);
358
- expect(result.end.get("day")).toBe(8);
359
- });
360
-
361
- // "Day before day before yesterday" (大前)
362
- testSingleCase(chrono.zh.hans, "今晚10点 - 大前天晚上10点", new Date(2012, 7, 10, 12), (result) => {
363
- expect(result.start.get("year")).toBe(2012);
364
- expect(result.start.get("month")).toBe(8);
365
- expect(result.start.get("day")).toBe(10);
366
- expect(result.end.get("year")).toBe(2012);
367
- expect(result.end.get("month")).toBe(8);
368
- expect(result.end.get("day")).toBe(7);
369
- });
370
-
371
- // "Day after tomorrow" (后)
372
- testSingleCase(chrono.zh.hans, "今晚10点 - 后天晚上10点", new Date(2012, 7, 10, 12), (result) => {
373
- expect(result.start.get("year")).toBe(2012);
374
- expect(result.start.get("month")).toBe(8);
375
- expect(result.start.get("day")).toBe(10);
376
- expect(result.end.get("year")).toBe(2012);
377
- expect(result.end.get("month")).toBe(8);
378
- expect(result.end.get("day")).toBe(12);
379
- });
380
-
381
- // "Day after day after tomorrow" (大后)
382
- testSingleCase(chrono.zh.hans, "今晚10点 - 大后天晚上10点", new Date(2012, 7, 10, 12), (result) => {
383
- expect(result.start.get("year")).toBe(2012);
384
- expect(result.start.get("month")).toBe(8);
385
- expect(result.start.get("day")).toBe(10);
386
- expect(result.end.get("year")).toBe(2012);
387
- expect(result.end.get("month")).toBe(8);
388
- expect(result.end.get("day")).toBe(13);
389
- });
390
-
391
- testSingleCase(chrono.zh.hans, "明天10点到明天11点", new Date(2012, 7, 10, 12), (result) => {
392
- expect(result.text).toBe("明天10点到明天11点");
393
- expect(result.start.get("day")).toBe(11);
394
- expect(result.start.get("hour")).toBe(10);
395
- expect(result.end.get("day")).toBe(11);
396
- expect(result.end.get("hour")).toBe(11);
397
- });
398
- });
399
-
400
- test("Test - Range Expression with specific AM/PM variations", function () {
401
- // AM variations: 早, 上, 凌
402
- testSingleCase(chrono.zh.hans, "今早10点 - 明早10点", new Date(2012, 7, 10, 12), (result) => {
403
- expect(result.start.get("year")).toBe(2012);
404
- expect(result.start.get("month")).toBe(8);
405
- expect(result.start.get("day")).toBe(10);
406
- expect(result.start.get("hour")).toBe(10);
407
-
408
- expect(result.end.get("year")).toBe(2012);
409
- expect(result.end.get("month")).toBe(8);
410
- expect(result.end.get("day")).toBe(11);
411
- expect(result.end.get("hour")).toBe(10);
412
- });
413
-
414
- testSingleCase(chrono.zh.hans, "今早10点 - 明天上午10点", new Date(2012, 7, 10, 12), (result) => {
415
- expect(result.start.get("year")).toBe(2012);
416
- expect(result.start.get("month")).toBe(8);
417
- expect(result.start.get("day")).toBe(10);
418
- expect(result.start.get("hour")).toBe(10);
419
-
420
- expect(result.end.get("year")).toBe(2012);
421
- expect(result.end.get("month")).toBe(8);
422
- expect(result.end.get("day")).toBe(11);
423
- expect(result.end.get("hour")).toBe(10);
424
- });
425
-
426
- testSingleCase(chrono.zh.hans, "今早10点 - 明天凌晨2点", new Date(2012, 7, 10, 12), (result) => {
427
- expect(result.start.get("year")).toBe(2012);
428
- expect(result.start.get("month")).toBe(8);
429
- expect(result.start.get("day")).toBe(10);
430
- expect(result.start.get("hour")).toBe(10);
431
-
432
- expect(result.end.get("year")).toBe(2012);
433
- expect(result.end.get("month")).toBe(8);
434
- expect(result.end.get("day")).toBe(11);
435
- expect(result.end.get("hour")).toBe(2);
436
- });
437
-
438
- testSingleCase(chrono.zh.hans, "下午2点 - 明天下午3点", new Date(2012, 7, 10), (result) => {
439
- expect(result.start.get("year")).toBe(2012);
440
- expect(result.start.get("month")).toBe(8);
441
- expect(result.start.get("day")).toBe(10);
442
- expect(result.start.get("hour")).toBe(14);
443
-
444
- expect(result.end.get("year")).toBe(2012);
445
- expect(result.end.get("month")).toBe(8);
446
- expect(result.end.get("day")).toBe(11);
447
- expect(result.end.get("hour")).toBe(15);
448
- });
449
-
450
- // Cross-day implied PM to AM (10pm - 2am)
451
- testSingleCase(chrono.zh.hans, "晚上10点 - 2点", new Date(2012, 7, 10), (result) => {
452
- expect(result.start.get("year")).toBe(2012);
453
- expect(result.start.get("month")).toBe(8);
454
- expect(result.start.get("day")).toBe(10);
455
- expect(result.start.get("hour")).toBe(22);
456
-
457
- expect(result.end.get("year")).toBe(2012);
458
- expect(result.end.get("month")).toBe(8);
459
- expect(result.end.get("day")).toBe(11);
460
- expect(result.end.get("hour")).toBe(2);
461
- });
462
- });
463
-
464
- test("Test - Range Expression with short day-time variations", function () {
465
- // "Day before yesterday" (前) + "Evening" (晚) -> 前晚
466
- testSingleCase(chrono.zh.hans, "今晚10点 - 前晚10点", new Date(2012, 7, 10, 12), (result) => {
467
- expect(result.start.get("year")).toBe(2012);
468
- expect(result.start.get("month")).toBe(8);
469
- expect(result.start.get("day")).toBe(10);
470
- expect(result.end.get("year")).toBe(2012);
471
- expect(result.end.get("month")).toBe(8);
472
- expect(result.end.get("day")).toBe(8);
473
- expect(result.end.get("hour")).toBe(22);
474
- });
475
-
476
- // "Day before day before yesterday" (大前) + "Evening" (晚) -> 大前晚
477
- testSingleCase(chrono.zh.hans, "今晚10点 - 大前晚10点", new Date(2012, 7, 10, 12), (result) => {
478
- expect(result.start.get("year")).toBe(2012);
479
- expect(result.start.get("month")).toBe(8);
480
- expect(result.start.get("day")).toBe(10);
481
- expect(result.end.get("year")).toBe(2012);
482
- expect(result.end.get("month")).toBe(8);
483
- expect(result.end.get("day")).toBe(7);
484
- expect(result.end.get("hour")).toBe(22);
485
- });
486
-
487
- // "Day after tomorrow" (后) + "Morning" (早) -> 后早
488
- testSingleCase(chrono.zh.hans, "今晚10点 - 后早10点", new Date(2012, 7, 10, 12), (result) => {
489
- expect(result.start.get("year")).toBe(2012);
490
- expect(result.start.get("month")).toBe(8);
491
- expect(result.start.get("day")).toBe(10);
492
- expect(result.end.get("year")).toBe(2012);
493
- expect(result.end.get("month")).toBe(8);
494
- expect(result.end.get("day")).toBe(12);
495
- expect(result.end.get("hour")).toBe(10);
496
- });
497
-
498
- // "Day after day after tomorrow" (大后) + "Morning" (早) -> 大后早
499
- testSingleCase(chrono.zh.hans, "今晚10点 - 大后早10点", new Date(2012, 7, 10, 12), (result) => {
500
- expect(result.start.get("year")).toBe(2012);
501
- expect(result.start.get("month")).toBe(8);
502
- expect(result.start.get("day")).toBe(10);
503
- expect(result.end.get("year")).toBe(2012);
504
- expect(result.end.get("month")).toBe(8);
505
- expect(result.end.get("day")).toBe(13);
506
- expect(result.end.get("hour")).toBe(10);
507
- });
508
- });