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,148 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase, testUnexpectedResult } from "../test_util";
3
-
4
- test("Test - Single expression", () => {
5
- testSingleCase(chrono.uk, "10.08.2012", new Date(2012, 7, 10), (result) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe("10.08.2012");
8
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
9
- });
10
-
11
- testSingleCase(chrono.uk, "10 серпня 2012", new Date(2012, 7, 10), (result) => {
12
- expect(result.index).toBe(0);
13
- expect(result.text).toBe("10 серпня 2012");
14
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
15
- });
16
-
17
- testSingleCase(chrono.uk, "3 лют 82", new Date(2012, 7, 10), (result) => {
18
- expect(result.index).toBe(0);
19
- expect(result.text).toBe("3 лют 82");
20
- expect(result.start).toBeDate(new Date(1982, 2 - 1, 3, 12));
21
- });
22
-
23
- testSingleCase(chrono.uk, "Дедлайн 10 серпня", new Date(2012, 7, 10), (result) => {
24
- expect(result.index).toBe(8);
25
- expect(result.text).toBe("10 серпня");
26
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
27
- });
28
-
29
- testSingleCase(chrono.uk, "Дедлайн Четвер, 10 січня", new Date(2012, 7, 10), (result) => {
30
- expect(result.index).toBe(8);
31
- expect(result.text).toBe("Четвер, 10 січня");
32
- expect(result.start).toBeDate(new Date(2013, 1 - 1, 10, 12));
33
- });
34
- });
35
-
36
- test("Test - Single expression with separators", () => {
37
- testSingleCase(chrono.uk, "10-серпня 2012", new Date(2012, 7, 8), (result, text) => {
38
- expect(result.text).toBe(text);
39
- expect(result).toBeDate(new Date(2012, 8 - 1, 10, 12, 0));
40
- });
41
-
42
- testSingleCase(chrono.uk, "10-серпня-2012", new Date(2012, 7, 8), (result, text) => {
43
- expect(result.text).toBe(text);
44
- expect(result).toBeDate(new Date(2012, 8 - 1, 10, 12, 0));
45
- });
46
-
47
- testSingleCase(chrono.uk, "10/серпня 2012", new Date(2012, 7, 8), (result, text) => {
48
- expect(result.text).toBe(text);
49
- expect(result).toBeDate(new Date(2012, 8 - 1, 10, 12, 0));
50
- });
51
-
52
- testSingleCase(chrono.uk, "10/серпня/2012", new Date(2012, 7, 8), (result, text) => {
53
- expect(result.text).toBe(text);
54
- expect(result).toBeDate(new Date(2012, 8 - 1, 10, 12, 0));
55
- });
56
- });
57
-
58
- test("Test - Range expression", () => {
59
- testSingleCase(chrono.uk, "10 - 22 серпня 2012", new Date(2012, 7, 10), (result) => {
60
- expect(result.index).toBe(0);
61
- expect(result.text).toBe("10 - 22 серпня 2012");
62
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
63
- expect(result.end).toBeDate(new Date(2012, 8 - 1, 22, 12));
64
- });
65
-
66
- testSingleCase(chrono.uk, "із 10 по 22 серпня 2012", new Date(2012, 7, 10), (result) => {
67
- expect(result.index).toBe(0);
68
- expect(result.text).toBe("із 10 по 22 серпня 2012");
69
-
70
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
71
- expect(result.end).toBeDate(new Date(2012, 8 - 1, 22, 12));
72
- });
73
-
74
- testSingleCase(chrono.uk, "10 серпня - 12 вересня", new Date(2012, 7, 10), (result) => {
75
- expect(result.index).toBe(0);
76
- expect(result.text).toBe("10 серпня - 12 вересня");
77
-
78
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
79
- expect(result.end).toBeDate(new Date(2012, 9 - 1, 12, 12));
80
- });
81
-
82
- testSingleCase(chrono.uk, "10 серпня - 12 вересня 2013", new Date(2012, 7, 10), (result) => {
83
- expect(result.index).toBe(0);
84
- expect(result.text).toBe("10 серпня - 12 вересня 2013");
85
-
86
- expect(result.start).toBeDate(new Date(2013, 8 - 1, 10, 12));
87
- expect(result.end).toBeDate(new Date(2013, 9 - 1, 12, 12));
88
- });
89
- });
90
-
91
- test("Test - Combined expression", () => {
92
- testSingleCase(chrono.uk, "5 травня 12:00", new Date(2012, 7, 10), (result) => {
93
- expect(result.index).toBe(0);
94
- expect(result.text).toBe("5 травня 12:00");
95
- expect(result.start).toBeDate(new Date(2012, 5 - 1, 5, 12, 0));
96
- });
97
- });
98
-
99
- test("Test - Ordinal Words", () => {
100
- testSingleCase(chrono.uk, "п'яте травня", new Date(2012, 7, 10), (result) => {
101
- expect(result.index).toBe(0);
102
- expect(result.text).toBe("п'яте травня");
103
- expect(result.start).toBeDate(new Date(2012, 5 - 1, 5, 12, 0));
104
- });
105
- });
106
-
107
- test("Test - Ordinal Words", () => {
108
- testSingleCase(chrono.uk, "двадцять п'яте травня", new Date(2012, 1, 10), (result) => {
109
- expect(result.index).toBe(0);
110
- expect(result.text).toBe("двадцять п'яте травня");
111
- expect(result.start).toBeDate(new Date(2012, 5 - 1, 25, 12, 0));
112
- });
113
- });
114
-
115
- test("Test - little endian date followed by time", () => {
116
- testSingleCase(chrono.uk, "24го жовтня, 9:00", new Date(2017, 7 - 1, 7, 15), (result) => {
117
- expect(result.index).toBe(0);
118
- expect(result.text).toBe("24го жовтня, 9:00");
119
- expect(result.start).toBeDate(new Date(2017, 10 - 1, 24, 9));
120
- });
121
- });
122
-
123
- test("Test - year 90's parsing", () => {
124
- testSingleCase(chrono.uk, "03 сер 96", new Date(2012, 7, 10), (result) => {
125
- expect(result.index).toBe(0);
126
- expect(result.text).toBe("03 сер 96");
127
- expect(result.start).toBeDate(new Date(1996, 8 - 1, 3, 12));
128
- });
129
- });
130
-
131
- test("Test - Forward Option", () => {
132
- testSingleCase(chrono.uk.casual, "22-23 лют в 7", new Date(2016, 3 - 1, 15), { forwardDate: true }, (result) => {
133
- expect(result.index).toBe(0);
134
- expect(result.text).toBe("22-23 лют в 7");
135
- expect(result.start).toBeDate(new Date(2017, 2 - 1, 22, 7));
136
- expect(result.end).toBeDate(new Date(2017, 2 - 1, 23, 7));
137
- });
138
- });
139
-
140
- test("Test - Impossible Dates (Strict Mode)", function () {
141
- testUnexpectedResult(chrono.uk.strict, "32 серпня 2014", new Date(2012, 7, 10));
142
-
143
- testUnexpectedResult(chrono.uk.strict, "29 лютого 2014", new Date(2012, 7, 10));
144
-
145
- testUnexpectedResult(chrono.uk.strict, "32 серпня", new Date(2012, 7, 10));
146
-
147
- testUnexpectedResult(chrono.uk.strict, "29 лютого", new Date(2013, 7, 10));
148
- });
@@ -1,107 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
-
4
- test("Test - 'This' expressions", () => {
5
- testSingleCase(chrono.uk, "на цьому тижні", new Date(2017, 11 - 1, 19, 12), (result, text) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe(text);
8
- expect(result.start.get("year")).toBe(2017);
9
- expect(result.start.get("month")).toBe(11);
10
- expect(result.start.get("day")).toBe(19);
11
- expect(result.start.get("hour")).toBe(12);
12
- });
13
-
14
- testSingleCase(chrono.uk, "у цьому місяці", new Date(2017, 11 - 1, 19, 12), (result, text) => {
15
- expect(result.index).toBe(0);
16
- expect(result.text).toBe(text);
17
- expect(result.start.get("year")).toBe(2017);
18
- expect(result.start.get("month")).toBe(11);
19
- expect(result.start.get("day")).toBe(1);
20
- expect(result.start.get("hour")).toBe(12);
21
- });
22
-
23
- testSingleCase(chrono.uk, "цього місяця", new Date(2017, 11 - 1, 1, 12), (result, text) => {
24
- expect(result.index).toBe(0);
25
- expect(result.text).toBe(text);
26
- expect(result.start.get("year")).toBe(2017);
27
- expect(result.start.get("month")).toBe(11);
28
- expect(result.start.get("day")).toBe(1);
29
- expect(result.start.get("hour")).toBe(12);
30
- });
31
-
32
- testSingleCase(chrono.uk, "у цьому році", new Date(2017, 11 - 1, 19, 12), (result, text) => {
33
- expect(result.index).toBe(0);
34
- expect(result.text).toBe(text);
35
- expect(result.start.get("year")).toBe(2017);
36
- expect(result.start.get("month")).toBe(1);
37
- expect(result.start.get("day")).toBe(1);
38
- expect(result.start.get("hour")).toBe(12);
39
- });
40
- });
41
-
42
- test("Test - Past relative expressions", () => {
43
- testSingleCase(chrono.uk, "на минулому тижні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
44
- expect(result.index).toBe(0);
45
- expect(result.text).toBe(text);
46
- expect(result.start.get("year")).toBe(2016);
47
- expect(result.start.get("month")).toBe(9);
48
- expect(result.start.get("day")).toBe(24);
49
- expect(result.start.get("hour")).toBe(12);
50
- });
51
-
52
- testSingleCase(chrono.uk, "минулого місяця", new Date(2016, 10 - 1, 1, 12), (result, text) => {
53
- expect(result.index).toBe(0);
54
- expect(result.text).toBe(text);
55
- expect(result.start.get("year")).toBe(2016);
56
- expect(result.start.get("month")).toBe(9);
57
- expect(result.start.get("day")).toBe(1);
58
- expect(result.start.get("hour")).toBe(12);
59
- });
60
-
61
- testSingleCase(chrono.uk, "у минулому році", new Date(2016, 10 - 1, 1, 12), (result, text) => {
62
- expect(result.index).toBe(0);
63
- expect(result.text).toBe(text);
64
- expect(result.start.get("year")).toBe(2015);
65
- expect(result.start.get("month")).toBe(10);
66
- expect(result.start.get("day")).toBe(1);
67
- expect(result.start.get("hour")).toBe(12);
68
- });
69
- });
70
-
71
- test("Test - Future relative expressions", () => {
72
- testSingleCase(chrono.uk, "на наступному тижні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
73
- expect(result.index).toBe(0);
74
- expect(result.text).toBe(text);
75
- expect(result.start.get("year")).toBe(2016);
76
- expect(result.start.get("month")).toBe(10);
77
- expect(result.start.get("day")).toBe(8);
78
- expect(result.start.get("hour")).toBe(12);
79
- });
80
-
81
- testSingleCase(chrono.uk, "наступного місяця", new Date(2016, 10 - 1, 1, 12), (result, text) => {
82
- expect(result.index).toBe(0);
83
- expect(result.text).toBe(text);
84
- expect(result.start.get("year")).toBe(2016);
85
- expect(result.start.get("month")).toBe(11);
86
- expect(result.start.get("day")).toBe(1);
87
- expect(result.start.get("hour")).toBe(12);
88
- });
89
-
90
- testSingleCase(chrono.uk, "в наступному кварталі", new Date(2016, 10 - 1, 1, 12), (result, text) => {
91
- expect(result.index).toBe(0);
92
- expect(result.text).toBe(text);
93
- expect(result.start.get("year")).toBe(2017);
94
- expect(result.start.get("month")).toBe(1);
95
- expect(result.start.get("day")).toBe(1);
96
- expect(result.start.get("hour")).toBe(12);
97
- });
98
-
99
- testSingleCase(chrono.uk, "наступного року", new Date(2016, 10 - 1, 1, 12), (result, text) => {
100
- expect(result.index).toBe(0);
101
- expect(result.text).toBe(text);
102
- expect(result.start.get("year")).toBe(2017);
103
- expect(result.start.get("month")).toBe(10);
104
- expect(result.start.get("day")).toBe(1);
105
- expect(result.start.get("hour")).toBe(12);
106
- });
107
- });
@@ -1,111 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase, testUnexpectedResult } from "../test_util";
3
-
4
- test("Test - Time expression", function () {
5
- testSingleCase(chrono.uk, "20:32:13", new Date(2016, 10 - 1, 1, 8), (result, text) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe(text);
8
- expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 20, 32, 13));
9
- });
10
- });
11
-
12
- test("Test - Time range expression", function () {
13
- testSingleCase(chrono.uk, "10:00:00 - 21:45:01", new Date(2016, 10 - 1, 1, 8), (result, text) => {
14
- expect(result.index).toBe(0);
15
- expect(result.text).toBe(text);
16
- expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 10));
17
- expect(result.end).toBeDate(new Date(2016, 10 - 1, 1, 21, 45, 1));
18
- });
19
- });
20
-
21
- test("Test - Casual time number expression", function () {
22
- testSingleCase(chrono.uk, "об 11 ранку", new Date(2016, 10 - 1, 1, 8), (result, text) => {
23
- expect(result.index).toBe(0);
24
- expect(result.text).toBe(text);
25
- expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 11));
26
- });
27
-
28
- testSingleCase(chrono.uk, "в 11 вечора", new Date(2016, 10 - 1, 1, 8), (result, text) => {
29
- expect(result.index).toBe(0);
30
- expect(result.text).toBe(text);
31
- expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 23));
32
- });
33
- });
34
-
35
- test("Test - Time range's meridiem handling", function () {
36
- testSingleCase(chrono.uk, "з 10 до 11 ранку", new Date(2016, 10 - 1, 1, 8), (result, text) => {
37
- expect(result.index).toBe(0);
38
- expect(result.text).toBe(text);
39
- expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 10));
40
- expect(result.end).toBeDate(new Date(2016, 10 - 1, 1, 11));
41
- });
42
- testSingleCase(chrono.uk, "із 10 до 11 вечора", new Date(2016, 10 - 1, 1, 8), (result, text) => {
43
- expect(result.index).toBe(0);
44
- expect(result.text).toBe(text);
45
- expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 22));
46
- expect(result.end).toBeDate(new Date(2016, 10 - 1, 1, 23));
47
- });
48
- });
49
-
50
- test("Test - Parsing causal positive cases", function () {
51
- testSingleCase(chrono.uk.casual, "в 1", (result) => {
52
- expect(result.index).toBe(0);
53
- expect(result.text).toBe("в 1");
54
- expect(result.start.get("hour")).toBe(1);
55
- });
56
-
57
- testSingleCase(chrono.uk.casual, "о 12", (result) => {
58
- expect(result.index).toBe(0);
59
- expect(result.text).toBe("о 12");
60
- expect(result.start.get("hour")).toBe(12);
61
- });
62
-
63
- testSingleCase(chrono.uk.casual, "в 12.30", (result) => {
64
- expect(result.index).toBe(0);
65
- expect(result.text).toBe("в 12.30");
66
- expect(result.start.get("hour")).toBe(12);
67
- expect(result.start.get("minute")).toBe(30);
68
- });
69
- });
70
-
71
- test("Test - Parsing negative cases : [year-like] pattern", function () {
72
- testUnexpectedResult(chrono.uk, "2020");
73
-
74
- testUnexpectedResult(chrono.uk, "2020 ");
75
- });
76
-
77
- test("Test - Parsing negative cases : 'at [some numbers]'", function () {
78
- testUnexpectedResult(chrono.uk, "Температура 101,194 градусів!");
79
-
80
- testUnexpectedResult(chrono.uk, "Температура 101 градусів!");
81
-
82
- testUnexpectedResult(chrono.uk, "Температура 10.1");
83
- });
84
-
85
- test("Test - Parsing negative cases : 'at [some numbers] - [some numbers]'", function () {
86
- testUnexpectedResult(chrono.uk, "Це в 10.1 - 10.12");
87
-
88
- testUnexpectedResult(chrono.uk, "Це в 10 - 10.1");
89
- });
90
-
91
- test("Test - Parsing negative cases (Strict)", function () {
92
- testUnexpectedResult(chrono.uk.strict, "Це в 101,194 телефон!");
93
-
94
- testUnexpectedResult(chrono.uk.strict, "Це в 101 стіл!");
95
-
96
- testUnexpectedResult(chrono.uk.strict, "Це в 10.1");
97
-
98
- testUnexpectedResult(chrono.uk.strict, "Це в 10");
99
-
100
- testUnexpectedResult(chrono.uk.strict, "2020");
101
- });
102
-
103
- test("Test - Parsing negative cases : 'at [some numbers] - [some numbers]' (Strict)", function () {
104
- testUnexpectedResult(chrono.uk.strict, "Це в 10.1 - 10.12");
105
-
106
- testUnexpectedResult(chrono.uk.strict, "Це в 10 - 10.1");
107
-
108
- testUnexpectedResult(chrono.uk.strict, "Це в 10 - 20");
109
-
110
- testUnexpectedResult(chrono.uk.strict, "7-730");
111
- });
@@ -1,48 +0,0 @@
1
- import * as chrono from "../../src/";
2
- import { testSingleCase, testUnexpectedResult } from "../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.uk, "5 днів тому щось відбулось", new Date(2012, 7 - 1, 10), (result) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe("5 днів тому");
8
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 5));
9
- });
10
-
11
- testSingleCase(chrono.uk, "5 хвилин тому щось відбулось", new Date(2012, 7 - 1, 10), (result) => {
12
- expect(result.index).toBe(0);
13
- expect(result.text).toBe("5 хвилин тому");
14
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 9, 23, 55));
15
- });
16
-
17
- testSingleCase(chrono.uk, "півгодини тому щось відбулось", new Date(2012, 7 - 1, 10), (result) => {
18
- expect(result.index).toBe(0);
19
- expect(result.text).toBe("півгодини тому");
20
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 9, 23, 30));
21
- });
22
- });
23
-
24
- test("Test - Nested time ago", function () {
25
- testSingleCase(chrono.uk, "5 днів 2 години тому щось відбулось", new Date(2012, 7 - 1, 10), (result) => {
26
- expect(result.index).toBe(0);
27
- expect(result.text).toBe("5 днів 2 години тому");
28
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 4, 22));
29
- });
30
-
31
- testSingleCase(chrono.uk, "5 хвилин 20 секунд тому щось сталось", new Date(2012, 7 - 1, 10), (result) => {
32
- expect(result.index).toBe(0);
33
- expect(result.text).toBe("5 хвилин 20 секунд тому");
34
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 9, 23, 54, 40));
35
- });
36
-
37
- testSingleCase(chrono.uk, "2 години 5 хвилин тому щось сталось", new Date(2012, 7 - 1, 10), (result) => {
38
- expect(result.index).toBe(0);
39
- expect(result.text).toBe("2 години 5 хвилин тому");
40
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 9, 21, 55));
41
- });
42
- });
43
-
44
- test("Test - Negative cases", function () {
45
- testUnexpectedResult(chrono.uk, "15 годин 29 хв.");
46
- testUnexpectedResult(chrono.uk, "декілька годин");
47
- testUnexpectedResult(chrono.uk, "5 днів");
48
- });
@@ -1,142 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
-
4
- test("Test - Positive time units", () => {
5
- testSingleCase(chrono.uk, "наступні 2 тижні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe(text);
8
- expect(result.start.get("year")).toBe(2016);
9
- expect(result.start.get("month")).toBe(10);
10
- expect(result.start.get("day")).toBe(15);
11
- expect(result.start.get("hour")).toBe(12);
12
- });
13
-
14
- testSingleCase(chrono.uk, "наступні 2 дні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
15
- expect(result.index).toBe(0);
16
- expect(result.text).toBe(text);
17
- expect(result.start.get("year")).toBe(2016);
18
- expect(result.start.get("month")).toBe(10);
19
- expect(result.start.get("day")).toBe(3);
20
- expect(result.start.get("hour")).toBe(12);
21
- });
22
-
23
- testSingleCase(chrono.uk, "наступні два роки", new Date(2016, 10 - 1, 1, 12), (result, text) => {
24
- expect(result.index).toBe(0);
25
- expect(result.text).toBe(text);
26
- expect(result.start.get("year")).toBe(2018);
27
- expect(result.start.get("month")).toBe(10);
28
- expect(result.start.get("day")).toBe(1);
29
- expect(result.start.get("hour")).toBe(12);
30
- });
31
-
32
- testSingleCase(chrono.uk, "наступні 2 тижні 3 дні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
33
- expect(result.index).toBe(0);
34
- expect(result.text).toBe(text);
35
- expect(result.start.get("year")).toBe(2016);
36
- expect(result.start.get("month")).toBe(10);
37
- expect(result.start.get("day")).toBe(18);
38
- expect(result.start.get("hour")).toBe(12);
39
- });
40
-
41
- testSingleCase(chrono.uk, "через декілька хвилин", new Date(2016, 10 - 1, 1, 12), (result, text) => {
42
- expect(result.index).toBe(0);
43
- expect(result.text).toBe(text);
44
- expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 12, 2));
45
- });
46
-
47
- testSingleCase(chrono.uk, "через півгодини", new Date(2016, 10 - 1, 1, 12), (result, text) => {
48
- expect(result.index).toBe(0);
49
- expect(result.text).toBe(text);
50
- expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 12, 30));
51
- });
52
-
53
- testSingleCase(chrono.uk, "через 2 години", new Date(2016, 10 - 1, 1, 12), (result, text) => {
54
- expect(result.index).toBe(0);
55
- expect(result.text).toBe(text);
56
- expect(result.start.get("year")).toBe(2016);
57
- expect(result.start.get("month")).toBe(10);
58
- expect(result.start.get("day")).toBe(1);
59
- expect(result.start.get("hour")).toBe(14);
60
- });
61
-
62
- testSingleCase(chrono.uk, "через три місяці", new Date(2016, 10 - 1, 1, 12), (result, text) => {
63
- expect(result.index).toBe(0);
64
- expect(result.text).toBe(text);
65
- expect(result.start.get("year")).toBe(2017);
66
- expect(result.start.get("month")).toBe(1);
67
- expect(result.start.get("day")).toBe(1);
68
- expect(result.start.get("hour")).toBe(12);
69
- });
70
-
71
- testSingleCase(chrono.uk, "через тиждень", new Date(2016, 10 - 1, 1, 12), (result, text) => {
72
- expect(result.index).toBe(0);
73
- expect(result.text).toBe(text);
74
- expect(result.start.get("year")).toBe(2016);
75
- expect(result.start.get("month")).toBe(10);
76
- expect(result.start.get("day")).toBe(8);
77
- expect(result.start.get("hour")).toBe(12);
78
- });
79
-
80
- testSingleCase(chrono.uk, "через місяць", new Date(2016, 10 - 1, 1, 12), (result, text) => {
81
- expect(result.index).toBe(0);
82
- expect(result.text).toBe(text);
83
- expect(result.start.get("year")).toBe(2016);
84
- expect(result.start.get("month")).toBe(11);
85
- expect(result.start.get("day")).toBe(1);
86
- expect(result.start.get("hour")).toBe(12);
87
- });
88
-
89
- testSingleCase(chrono.uk, "через рік", new Date(2020, 11 - 1, 22, 12, 11, 32, 6), (result, text) => {
90
- expect(result.index).toBe(0);
91
- expect(result.text).toBe(text);
92
- expect(result.start).toBeDate(new Date(2021, 11 - 1, 22, 12, 11, 32, 6));
93
- });
94
- });
95
-
96
- test("Test - Negative time units", () => {
97
- testSingleCase(chrono.uk, "минулі 2 тижні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
98
- expect(result.index).toBe(0);
99
- expect(result.text).toBe(text);
100
- expect(result.start.get("year")).toBe(2016);
101
- expect(result.start.get("month")).toBe(9);
102
- expect(result.start.get("day")).toBe(17);
103
- expect(result.start.get("hour")).toBe(12);
104
- });
105
-
106
- testSingleCase(chrono.uk, "минулі два дні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
107
- expect(result.index).toBe(0);
108
- expect(result.text).toBe(text);
109
- expect(result.start.get("year")).toBe(2016);
110
- expect(result.start.get("month")).toBe(9);
111
- expect(result.start.get("day")).toBe(29);
112
- expect(result.start.get("hour")).toBe(12);
113
- });
114
- });
115
-
116
- test("Test - Plus '+' sign", () => {
117
- testSingleCase(chrono.uk.casual, "+15 хвилин", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => {
118
- expect(result.index).toBe(0);
119
- expect(result.text).toBe(text);
120
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 29));
121
- });
122
-
123
- testSingleCase(chrono.uk.casual, "+15хв", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => {
124
- expect(result.index).toBe(0);
125
- expect(result.text).toBe(text);
126
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 29));
127
- });
128
-
129
- testSingleCase(chrono.uk.casual, "+1 день 2 години", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => {
130
- expect(result.index).toBe(0);
131
- expect(result.text).toBe(text);
132
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 11, 14, 14));
133
- });
134
- });
135
-
136
- test("Test - Minus '-' sign", () => {
137
- testSingleCase(chrono.uk.casual, "-3 роки", new Date(2015, 7 - 1, 10, 12, 14), (result, text) => {
138
- expect(result.index).toBe(0);
139
- expect(result.text).toBe(text);
140
- expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 14));
141
- });
142
- });
@@ -1,16 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
-
4
- test("Test - The normal within expression", () => {
5
- testSingleCase(chrono.uk, "буде зроблено протягом хвилини", new Date(2012, 7, 10), (result) => {
6
- expect(result.index).toBe(14);
7
- expect(result.text).toBe("протягом хвилини");
8
- expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 1));
9
- });
10
-
11
- testSingleCase(chrono.uk, "буде виконано на протязі 2 годин.", new Date(2012, 7, 10), (result) => {
12
- expect(result.index).toBe(14);
13
- expect(result.text).toBe("на протязі 2 годин");
14
- expect(result.start).toBeDate(new Date(2012, 7, 10, 2));
15
- });
16
- });
@@ -1,52 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.uk.casual, "понеділок", new Date(2012, 7, 9), (result) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe("понеділок");
8
- expect(result.start).toBeDate(new Date(2012, 7, 6, 12));
9
- });
10
-
11
- testSingleCase(chrono.uk.casual, "Дедлайн у п'ятницю...", new Date(2012, 7, 9), (result) => {
12
- expect(result.index).toBe(8);
13
- expect(result.text).toBe("у п'ятницю");
14
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
15
- });
16
-
17
- testSingleCase(chrono.uk.casual, "Дедлайн в минулий четвер!", new Date(2012, 7, 9), (result) => {
18
- expect(result.index).toBe(8);
19
- expect(result.text).toBe("в минулий четвер");
20
- expect(result.start).toBeDate(new Date(2012, 7, 2, 12));
21
- });
22
-
23
- testSingleCase(chrono.uk.casual, "Дедлайн в наступний вівторок!", new Date(2015, 3, 18), (result) => {
24
- expect(result.index).toBe(8);
25
- expect(result.text).toBe("в наступний вівторок");
26
- expect(result.start).toBeDate(new Date(2015, 3, 21, 12));
27
- });
28
- });
29
-
30
- test("Test - Weekday With Casual Time", function () {
31
- testSingleCase(chrono.uk.casual, "Подзвони в середу вранці", new Date(2015, 3, 18), (result) => {
32
- expect(result.index).toBe(9);
33
- expect(result.text).toBe("в середу вранці");
34
- expect(result.start).toBeDate(new Date(2015, 3, 15, 6));
35
- });
36
- });
37
-
38
- test("Test - Weekday Overlap", function () {
39
- testSingleCase(chrono.uk.casual, "неділя, 7 грудня 2014", new Date(2012, 7, 9), (result) => {
40
- expect(result.index).toBe(0);
41
- expect(result.text).toBe("неділя, 7 грудня 2014");
42
- expect(result.start).toBeDate(new Date(2014, 12 - 1, 7, 12));
43
- });
44
- });
45
-
46
- test("Test - forward dates only option", () => {
47
- testSingleCase(chrono.uk.casual, "У понеділок?", new Date(2012, 7, 9), { forwardDate: true }, (result) => {
48
- expect(result.index).toBe(0);
49
- expect(result.text).toBe("У понеділок");
50
- expect(result.start).toBeDate(new Date(2012, 7, 13, 12));
51
- });
52
- });