chrono-node 2.9.2 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/cjs/results.js +15 -9
  2. package/dist/cjs/results.js.map +1 -1
  3. package/dist/esm/results.js +14 -9
  4. package/dist/esm/results.js.map +1 -1
  5. package/package.json +5 -1
  6. package/src/results.ts +40 -9
  7. package/test/calculation_duration.test.ts +0 -165
  8. package/test/calculation_weekdays.test.ts +0 -133
  9. package/test/de/de_casual.test.ts +0 -336
  10. package/test/de/de_dash.test.ts +0 -32
  11. package/test/de/de_month_name_little_endian.test.ts +0 -273
  12. package/test/de/de_time_exp.test.ts +0 -223
  13. package/test/de/de_time_units_casual_relative.test.ts +0 -120
  14. package/test/de/de_time_units_within.test.ts +0 -119
  15. package/test/de/de_weekday.test.ts +0 -158
  16. package/test/de/de_year.test.ts +0 -147
  17. package/test/debugging.test.ts +0 -17
  18. package/test/en/en.test.ts +0 -191
  19. package/test/en/en_casual.test.ts +0 -425
  20. package/test/en/en_inter_std.test.ts +0 -118
  21. package/test/en/en_merging_relative_dates.test.ts +0 -50
  22. package/test/en/en_month.test.ts +0 -339
  23. package/test/en/en_month_name_little_endian.test.ts +0 -448
  24. package/test/en/en_month_name_middle_endian.test.ts +0 -386
  25. package/test/en/en_performance.test.ts +0 -26
  26. package/test/en/en_relative.test.ts +0 -393
  27. package/test/en/en_slash.test.ts +0 -284
  28. package/test/en/en_time_exp.test.ts +0 -535
  29. package/test/en/en_time_units_ago.test.ts +0 -357
  30. package/test/en/en_time_units_casual_relative.test.ts +0 -186
  31. package/test/en/en_time_units_later.test.ts +0 -361
  32. package/test/en/en_time_units_within.test.ts +0 -417
  33. package/test/en/en_timezone_exp.test.ts +0 -410
  34. package/test/en/en_weekday.test.ts +0 -573
  35. package/test/en/en_year.test.ts +0 -138
  36. package/test/en/en_year_month_day.test.ts +0 -101
  37. package/test/en/negative_cases.test.ts +0 -99
  38. package/test/es/es_casual.test.ts +0 -175
  39. package/test/es/es_month_name_little_endian.test.ts +0 -217
  40. package/test/es/es_slash.test.ts +0 -26
  41. package/test/es/es_time_exp.test.ts +0 -175
  42. package/test/es/es_time_units_within.test.ts +0 -119
  43. package/test/fi/fi_casual.test.ts +0 -99
  44. package/test/fi/fi_casual_time.test.ts +0 -56
  45. package/test/fi/fi_month_name_little_endian.test.ts +0 -50
  46. package/test/fi/fi_time_exp.test.ts +0 -39
  47. package/test/fi/fi_time_units_ago.test.ts +0 -93
  48. package/test/fi/fi_time_units_casual_relative.test.ts +0 -117
  49. package/test/fi/fi_time_units_within.test.ts +0 -74
  50. package/test/fi/fi_weekday.test.ts +0 -90
  51. package/test/fr/fr_casual.test.ts +0 -314
  52. package/test/fr/fr_little_endian.test.ts +0 -320
  53. package/test/fr/fr_slash.test.ts +0 -49
  54. package/test/fr/fr_time_exp.test.ts +0 -588
  55. package/test/fr/fr_time_units_ago.test.ts +0 -103
  56. package/test/fr/fr_time_units_casual_relative.test.ts +0 -114
  57. package/test/fr/fr_time_units_within.test.ts +0 -129
  58. package/test/fr/fr_weekday.test.ts +0 -130
  59. package/test/it/it_casual.test.ts +0 -81
  60. package/test/it/it_month_name_little_endian.test.ts +0 -28
  61. package/test/it/it_month_name_middle_endian.test.ts +0 -39
  62. package/test/it/it_time_exp.test.ts +0 -84
  63. package/test/it/it_weekday.test.ts +0 -37
  64. package/test/it/it_year_month_day.test.ts +0 -41
  65. package/test/ja/ja_casual.test.ts +0 -73
  66. package/test/ja/ja_slash_date_format.test.ts +0 -60
  67. package/test/ja/ja_standard.test.ts +0 -235
  68. package/test/ja/ja_time_exp.test.ts +0 -305
  69. package/test/ja/ja_weekday.test.ts +0 -183
  70. package/test/nl/nl_casual.test.ts +0 -408
  71. package/test/nl/nl_month.test.ts +0 -205
  72. package/test/nl/nl_month_name_little_endian.test.ts +0 -358
  73. package/test/nl/nl_relative.test.ts +0 -242
  74. package/test/nl/nl_slash.test.ts +0 -206
  75. package/test/nl/nl_time_exp.test.ts +0 -79
  76. package/test/nl/nl_time_units_ago.test.ts +0 -243
  77. package/test/nl/nl_time_units_casual_relative.test.ts +0 -130
  78. package/test/nl/nl_time_units_later.test.ts +0 -250
  79. package/test/nl/nl_time_units_within.test.ts +0 -225
  80. package/test/nl/nl_weekday.test.ts +0 -216
  81. package/test/pt/pt_casual.test.ts +0 -175
  82. package/test/pt/pt_month_name_little_endian.test.ts +0 -217
  83. package/test/pt/pt_slash.test.ts +0 -26
  84. package/test/pt/pt_time_exp.test.ts +0 -175
  85. package/test/result.test.ts +0 -283
  86. package/test/ru/ru_casual.test.ts +0 -159
  87. package/test/ru/ru_month.test.ts +0 -70
  88. package/test/ru/ru_month_name_little_endian.test.ts +0 -145
  89. package/test/ru/ru_relative.test.ts +0 -107
  90. package/test/ru/ru_time_exp.test.ts +0 -111
  91. package/test/ru/ru_time_units_ago.test.ts +0 -48
  92. package/test/ru/ru_time_units_casual_relative.test.ts +0 -190
  93. package/test/ru/ru_time_units_within.test.ts +0 -16
  94. package/test/ru/ru_weekday.test.ts +0 -52
  95. package/test/sv/sv_casual.test.ts +0 -87
  96. package/test/sv/sv_month_name_little_endian.test.ts +0 -48
  97. package/test/sv/sv_time_units_casual_relative.test.ts +0 -143
  98. package/test/sv/sv_weekday.test.ts +0 -68
  99. package/test/system.test.ts +0 -247
  100. package/test/system_timezone.test.ts +0 -284
  101. package/test/test_util.ts +0 -135
  102. package/test/uk/uk_casual.test.ts +0 -153
  103. package/test/uk/uk_month.test.ts +0 -70
  104. package/test/uk/uk_month_name_little_endian.test.ts +0 -148
  105. package/test/uk/uk_relative.test.ts +0 -107
  106. package/test/uk/uk_time_exp.test.ts +0 -111
  107. package/test/uk/uk_time_units_ago.test.ts +0 -48
  108. package/test/uk/uk_time_units_casual_relative.test.ts +0 -142
  109. package/test/uk/uk_time_units_within.test.ts +0 -23
  110. package/test/uk/uk_weekday.test.ts +0 -52
  111. package/test/vi/vi_casual.test.ts +0 -84
  112. package/test/vi/vi_casual_time.test.ts +0 -77
  113. package/test/vi/vi_date_range.test.ts +0 -61
  114. package/test/vi/vi_forward_date.test.ts +0 -45
  115. package/test/vi/vi_month_year.test.ts +0 -40
  116. package/test/vi/vi_negative_cases.test.ts +0 -60
  117. package/test/vi/vi_slash.test.ts +0 -36
  118. package/test/vi/vi_standard.test.ts +0 -86
  119. package/test/vi/vi_strict.test.ts +0 -67
  120. package/test/vi/vi_time_exp.test.ts +0 -99
  121. package/test/vi/vi_time_units_ago.test.ts +0 -56
  122. package/test/vi/vi_time_units_casual_relative.test.ts +0 -56
  123. package/test/vi/vi_time_units_later.test.ts +0 -43
  124. package/test/vi/vi_time_units_within.test.ts +0 -24
  125. package/test/vi/vi_weekday.test.ts +0 -77
  126. package/test/vi/vi_year.test.ts +0 -42
  127. package/test/zh/hans/zh_hans_ago.test.ts +0 -58
  128. package/test/zh/hans/zh_hans_casual.test.ts +0 -242
  129. package/test/zh/hans/zh_hans_date.test.ts +0 -116
  130. package/test/zh/hans/zh_hans_deadline.test.ts +0 -175
  131. package/test/zh/hans/zh_hans_time_exp.test.ts +0 -508
  132. package/test/zh/hans/zh_hans_weekday.test.ts +0 -219
  133. package/test/zh/hant/zh_hant_ago.test.ts +0 -58
  134. package/test/zh/hant/zh_hant_casual.test.ts +0 -260
  135. package/test/zh/hant/zh_hant_date.test.ts +0 -116
  136. package/test/zh/hant/zh_hant_deadline.test.ts +0 -136
  137. package/test/zh/hant/zh_hant_time_exp.test.ts +0 -226
  138. package/test/zh/hant/zh_hant_weekday.test.ts +0 -175
  139. package/test/zh/zh.test.ts +0 -36
  140. package/tsconfig.build.esm.json +0 -8
  141. package/tsconfig.build.json +0 -10
  142. package/tsconfig.json +0 -29
@@ -1,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,23 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase, testUnexpectedResult } 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
- });
17
-
18
- test("Test - Within expression respects the word boundary", () => {
19
- // The forwardDate branch builds a bare time-unit pattern whose right boundary uses the
20
- // \p{L}\p{N} escapes, so a unit glued to a following letter must not match. "годин" (hours)
21
- // is a prefix of "годинників" (watches), so this sentence must not parse as "5 hours".
22
- testUnexpectedResult(chrono.uk, "купив 5 годинників", new Date(2012, 7, 10), { forwardDate: true });
23
- });
@@ -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
- });