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,138 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase, testUnexpectedResult } from "../test_util";
3
- import { Meridiem } from "../../src";
4
-
5
- test("Test - Year numbers with BCE/CE Era label", () => {
6
- testSingleCase(chrono, "10 August 234 BCE", new Date(2012, 7, 10), (result) => {
7
- expect(result.index).toBe(0);
8
- expect(result.text).toBe("10 August 234 BCE"); // fails since text is `10 August 234`
9
-
10
- expect(result.start).not.toBeNull();
11
- expect(result.start.get("year")).toBe(-234);
12
- expect(result.start.get("month")).toBe(8);
13
- expect(result.start.get("day")).toBe(10);
14
-
15
- expect(result.start).toBeDate(new Date(-234, 8 - 1, 10, 12));
16
- });
17
-
18
- testSingleCase(chrono, "10 August 88 CE", new Date(2012, 7, 10), (result) => {
19
- expect(result.index).toBe(0);
20
- expect(result.text).toBe("10 August 88 CE");
21
-
22
- expect(result.start).not.toBeNull();
23
- expect(result.start.get("year")).toBe(88);
24
- expect(result.start.get("month")).toBe(8);
25
- expect(result.start.get("day")).toBe(10);
26
-
27
- const resultDate = result.start.date();
28
- const expectDate = new Date(88, 8 - 1, 10, 12);
29
- expectDate.setFullYear(88);
30
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
31
- });
32
- });
33
-
34
- test("Test - Year numbers with BC/AD Era label", () => {
35
- testSingleCase(chrono, "10 August 234 BC", new Date(2012, 7, 10), (result) => {
36
- expect(result.index).toBe(0);
37
- expect(result.text).toBe("10 August 234 BC");
38
-
39
- expect(result.start).not.toBeNull();
40
- expect(result.start.get("year")).toBe(-234);
41
- expect(result.start.get("month")).toBe(8);
42
- expect(result.start.get("day")).toBe(10);
43
-
44
- expect(result.start).toBeDate(new Date(-234, 8 - 1, 10, 12));
45
- });
46
-
47
- testSingleCase(chrono, "10 August 88 AD", new Date(2012, 7, 10), (result) => {
48
- expect(result.index).toBe(0);
49
- expect(result.text).toBe("10 August 88 AD");
50
-
51
- expect(result.start).not.toBeNull();
52
- expect(result.start.get("year")).toBe(88);
53
- expect(result.start.get("month")).toBe(8);
54
- expect(result.start.get("day")).toBe(10);
55
-
56
- const resultDate = result.start.date();
57
- const expectDate = new Date(88, 8 - 1, 10, 12);
58
- expectDate.setFullYear(88);
59
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
60
- });
61
- });
62
-
63
- test("Test - Year numbers with Buddhist Era label", () => {
64
- testSingleCase(chrono, "10 August 2555 BE", new Date(2012, 7, 10), (result) => {
65
- expect(result.index).toBe(0);
66
- expect(result.text).toBe("10 August 2555 BE");
67
-
68
- expect(result.start).not.toBeNull();
69
- expect(result.start.get("year")).toBe(2012);
70
- expect(result.start.get("month")).toBe(8);
71
- expect(result.start.get("day")).toBe(10);
72
-
73
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
74
- });
75
- });
76
-
77
- test("Test - Year number after date/time expression", () => {
78
- testSingleCase(chrono, "Thu Oct 26 11:00:09 2023", new Date(2016, 10 - 1, 1, 8), (result, text) => {
79
- expect(result.start.get("year")).toBe(2023);
80
- expect(result.start.get("month")).toBe(10);
81
- expect(result.start.get("day")).toBe(26);
82
-
83
- expect(result.start.get("hour")).toBe(11);
84
- expect(result.start.get("minute")).toBe(0);
85
- expect(result.start.get("second")).toBe(9);
86
- expect(result.start.get("meridiem")).toBe(Meridiem.AM);
87
- });
88
-
89
- testSingleCase(chrono, "Thu Oct 26 11:00:09 EDT 2023", new Date(2016, 10 - 1, 1, 8), (result, text) => {
90
- expect(result.start.get("year")).toBe(2023);
91
- expect(result.start.get("month")).toBe(10);
92
- expect(result.start.get("day")).toBe(26);
93
-
94
- expect(result.start.get("hour")).toBe(11);
95
- expect(result.start.get("minute")).toBe(0);
96
- expect(result.start.get("second")).toBe(9);
97
- expect(result.start.get("meridiem")).toBe(Meridiem.AM);
98
- expect(result.start.get("timezoneOffset")).toBe(-240);
99
- });
100
- });
101
-
102
- test("Test - Year number after date/time range expression", () => {
103
- testSingleCase(chrono, "Thu Oct 26 - 28, 11:00:09 2023", new Date(2016, 10 - 1, 1, 8), (result, text) => {
104
- expect(result.start.get("year")).toBe(2023);
105
- expect(result.start.get("month")).toBe(10);
106
- expect(result.start.get("day")).toBe(26);
107
- expect(result.start.get("hour")).toBe(11);
108
- expect(result.start.get("minute")).toBe(0);
109
- expect(result.start.get("second")).toBe(9);
110
- expect(result.start.get("meridiem")).toBe(Meridiem.AM);
111
-
112
- expect(result.end.get("year")).toBe(2023);
113
- expect(result.end.get("month")).toBe(10);
114
- expect(result.end.get("day")).toBe(28);
115
- expect(result.end.get("hour")).toBe(11);
116
- expect(result.end.get("minute")).toBe(0);
117
- expect(result.end.get("second")).toBe(9);
118
- expect(result.end.get("meridiem")).toBe(Meridiem.AM);
119
- });
120
-
121
- testSingleCase(chrono, "Thu Oct 26, 10:00 - 11:00:09 2023", new Date(2016, 10 - 1, 1, 8), (result, text) => {
122
- expect(result.start.get("year")).toBe(2023);
123
- expect(result.start.get("month")).toBe(10);
124
- expect(result.start.get("day")).toBe(26);
125
- expect(result.start.get("hour")).toBe(10);
126
- expect(result.start.get("minute")).toBe(0);
127
- expect(result.start.get("second")).toBe(0);
128
- expect(result.start.get("meridiem")).toBe(Meridiem.AM);
129
-
130
- expect(result.end.get("year")).toBe(2023);
131
- expect(result.end.get("month")).toBe(10);
132
- expect(result.end.get("day")).toBe(26);
133
- expect(result.end.get("hour")).toBe(11);
134
- expect(result.end.get("minute")).toBe(0);
135
- expect(result.end.get("second")).toBe(9);
136
- expect(result.end.get("meridiem")).toBe(Meridiem.AM);
137
- });
138
- });
@@ -1,101 +0,0 @@
1
- import { testSingleCase, testUnexpectedResult } from "../test_util";
2
- import * as chrono from "../../src";
3
-
4
- test("Test - Single Expression (yyyy/MM/dd)", function () {
5
- testSingleCase(chrono, "2012/8/10", new Date(2012, 7, 10), (result) => {
6
- expect(result.start).not.toBeNull();
7
- expect(result.start.get("year")).toBe(2012);
8
- expect(result.start.get("month")).toBe(8);
9
- expect(result.start.get("day")).toBe(10);
10
-
11
- expect(result.index).toBe(0);
12
- expect(result.text).toBe("2012/8/10");
13
-
14
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
15
- });
16
-
17
- testSingleCase(chrono, "The Deadline is 2012/8/10", new Date(2012, 7, 10), (result) => {
18
- expect(result.index).toBe(16);
19
- expect(result.text).toBe("2012/8/10");
20
-
21
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
22
- });
23
-
24
- testSingleCase(chrono.strict, "2014/2/28", (result) => {
25
- expect(result.text).toBe("2014/2/28");
26
- });
27
-
28
- testSingleCase(chrono.strict, "2014/12/28", (result) => {
29
- expect(result.text).toBe("2014/12/28");
30
- expect(result).toBeDate(new Date(2014, 12 - 1, 28, 12));
31
- });
32
-
33
- testSingleCase(chrono.strict, "2014.12.28", (result) => {
34
- expect(result.text).toBe("2014.12.28");
35
- expect(result).toBeDate(new Date(2014, 12 - 1, 28, 12));
36
- });
37
-
38
- testSingleCase(chrono.strict, "2014 12 28", (result) => {
39
- expect(result.text).toBe("2014 12 28");
40
- expect(result).toBeDate(new Date(2014, 12 - 1, 28, 12));
41
- });
42
- });
43
-
44
- test("Test - Single Expression with month name (yyyy/MMM/dd)", function () {
45
- testSingleCase(chrono, "2012/Aug/10", new Date(2012, 7, 10), (result) => {
46
- expect(result.start).not.toBeNull();
47
- expect(result.start.get("year")).toBe(2012);
48
- expect(result.start.get("month")).toBe(8);
49
- expect(result.start.get("day")).toBe(10);
50
-
51
- expect(result.index).toBe(0);
52
- expect(result.text).toBe("2012/Aug/10");
53
-
54
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
55
- });
56
-
57
- testSingleCase(chrono, "The Deadline is 2012/aug/10", new Date(2012, 7, 10), (result) => {
58
- expect(result.index).toBe(16);
59
- expect(result.text).toBe("2012/aug/10");
60
-
61
- expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
62
- });
63
-
64
- testSingleCase(chrono, "The Deadline is 2018 March 18", new Date(2012, 7, 10), (result) => {
65
- expect(result.index).toBe(16);
66
- expect(result.text).toBe("2018 March 18");
67
-
68
- expect(result.start.get("year")).toBe(2018);
69
- expect(result.start.get("month")).toBe(3);
70
- expect(result.start.get("day")).toBe(18);
71
-
72
- expect(result).toBeDate(new Date(2018, 3 - 1, 18, 12));
73
- });
74
- });
75
-
76
- test("Test - Allow swap date/month order in casual mode", () => {
77
- testUnexpectedResult(chrono.strict, "2024/13/1");
78
- testUnexpectedResult(chrono.strict, "2024-13-01");
79
-
80
- testSingleCase(chrono.casual, "2024/13/1", new Date(2012, 7, 10), (result) => {
81
- expect(result.start.get("year")).toBe(2024);
82
- expect(result.start.get("month")).toBe(1);
83
- expect(result.start.get("day")).toBe(13);
84
- });
85
-
86
- testSingleCase(chrono.casual, "2024-13-01", new Date(2012, 7, 10), (result) => {
87
- expect(result.start.get("year")).toBe(2024);
88
- expect(result.start.get("month")).toBe(1);
89
- expect(result.start.get("day")).toBe(13);
90
- });
91
- });
92
-
93
- test("Test - Not parse unlikely xxxx-xx-xx pattern", function () {
94
- testUnexpectedResult(chrono, "2012/80/10", new Date(2012, 7, 10));
95
- testUnexpectedResult(chrono, "2012 80 10", new Date(2012, 7, 10));
96
- });
97
-
98
- test("Test - Not parse impossible dates", function () {
99
- testUnexpectedResult(chrono, "2014-08-32");
100
- testUnexpectedResult(chrono, "2014-02-30");
101
- });
@@ -1,99 +0,0 @@
1
- import { testSingleCase, testUnexpectedResult } from "../test_util";
2
- import * as chrono from "../../src";
3
-
4
- test("Test - Skip random non-date patterns", function () {
5
- testUnexpectedResult(chrono, " 3");
6
-
7
- testUnexpectedResult(chrono, " 1");
8
-
9
- testUnexpectedResult(chrono, " 11 ");
10
-
11
- testUnexpectedResult(chrono, " 0.5 ");
12
-
13
- testUnexpectedResult(chrono, " 35.49 ");
14
-
15
- testUnexpectedResult(chrono, "12.53%");
16
-
17
- testUnexpectedResult(chrono, "6358fe2310> *5.0* / 5 Outstanding");
18
-
19
- testUnexpectedResult(chrono, "6358fe2310> *1.5* / 5 Outstanding");
20
-
21
- testUnexpectedResult(chrono, "Total: $1,194.09 [image: View Reservation");
22
-
23
- testUnexpectedResult(chrono, "at 6.5 kilograms");
24
-
25
- testUnexpectedResult(chrono, "ah that is unusual", null, { forwardDate: true });
26
- });
27
-
28
- test("Test - URLs % encoded", function () {
29
- testUnexpectedResult(chrono, "%e7%b7%8a");
30
-
31
- testUnexpectedResult(
32
- chrono,
33
- "https://tenor.com/view/%e3%83%89%e3%82%ad%e3%83%89%e3%82%ad-" +
34
- "%e7%b7%8a%e5%bc%b5-%e5%a5%bd%e3%81%8d-%e3%83%8f%e3%83%bc%e3%83%88" +
35
- "-%e5%8f%af%e6%84%9b%e3%81%84-gif-15876325"
36
- );
37
- });
38
-
39
- test("Test - Skip hyphenated numbers pattern", () => {
40
- testUnexpectedResult(chrono, "1-2");
41
-
42
- testUnexpectedResult(chrono, "1-2-3");
43
-
44
- testUnexpectedResult(chrono, "4-5-6");
45
-
46
- testUnexpectedResult(chrono, "20-30-12");
47
-
48
- testUnexpectedResult(chrono, "2012");
49
-
50
- testUnexpectedResult(chrono, "2012-14");
51
-
52
- testUnexpectedResult(chrono, "2012-1400");
53
-
54
- testUnexpectedResult(chrono, "2200-25");
55
- });
56
-
57
- test("Test - Skip impossible dates/times", () => {
58
- testUnexpectedResult(chrono, "February 29, 2022");
59
- testUnexpectedResult(chrono, "02/29/2022");
60
-
61
- testUnexpectedResult(chrono, "June 31, 2022");
62
- testUnexpectedResult(chrono, "06/31/2022");
63
-
64
- testUnexpectedResult(chrono, "14PM");
65
- testUnexpectedResult(chrono, "25:12");
66
-
67
- testUnexpectedResult(chrono, "An appointment on 13/31/2018");
68
- });
69
-
70
- test("Test - Skip impossible dates/times ranges", () => {
71
- testUnexpectedResult(chrono, "February 20 - 29, 2022");
72
- testUnexpectedResult(chrono, "June 10 - 31, 2022");
73
- });
74
-
75
- test("Test - Skip version number pattern", () => {
76
- testUnexpectedResult(chrono, "Version: 1.1.3");
77
-
78
- testUnexpectedResult(chrono, "Version: 1.1.30");
79
-
80
- testUnexpectedResult(chrono, "Version: 1.10.30");
81
- });
82
-
83
- test("Test - Skip incorrect reference", () => {
84
- testUnexpectedResult(chrono, "for the year");
85
- });
86
-
87
- test("Test - Date with version number pattern", () => {
88
- testSingleCase(chrono.en, "1.5.3 - 2015-09-24", (result) => {
89
- expect(result.text).toBe("2015-09-24");
90
- });
91
-
92
- testSingleCase(chrono.en, "1.5.30 - 2015-09-24", (result) => {
93
- expect(result.text).toBe("2015-09-24");
94
- });
95
-
96
- testSingleCase(chrono.en, "1.50.30 - 2015-09-24", (result) => {
97
- expect(result.text).toBe("2015-09-24");
98
- });
99
- });
@@ -1,175 +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.es, "La fecha límite es ahora", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
6
- expect(result.index).toBe(19);
7
- expect(result.text).toBe("ahora");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("year")).toBe(2012);
11
- expect(result.start.get("month")).toBe(8);
12
- expect(result.start.get("day")).toBe(10);
13
- expect(result.start.get("hour")).toBe(8);
14
- expect(result.start.get("minute")).toBe(9);
15
- expect(result.start.get("second")).toBe(10);
16
- expect(result.start.get("millisecond")).toBe(11);
17
-
18
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 9, 10, 11));
19
- });
20
-
21
- testSingleCase(chrono.es, "La fecha límite es hoy", new Date(2012, 7, 10, 12), (result) => {
22
- expect(result.index).toBe(19);
23
- expect(result.text).toBe("hoy");
24
-
25
- expect(result.start).not.toBeNull();
26
- expect(result.start.get("year")).toBe(2012);
27
- expect(result.start.get("month")).toBe(8);
28
- expect(result.start.get("day")).toBe(10);
29
-
30
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
31
- });
32
-
33
- testSingleCase(chrono.es, "La fecha límite es Mañana", new Date(2012, 7, 10, 12), (result) => {
34
- expect(result.index).toBe(19);
35
- expect(result.text).toBe("Mañana");
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(11);
41
-
42
- expect(result.start).toBeDate(new Date(2012, 7, 11, 12));
43
- });
44
-
45
- testSingleCase(chrono.es, "La fecha límite es mañana", new Date(2012, 7, 10, 1), (result) => {
46
- expect(result.start).toBeDate(new Date(2012, 7, 11, 1));
47
- });
48
-
49
- testSingleCase(chrono.es, "La fecha límite fue ayer", new Date(2012, 7, 10, 12), (result) => {
50
- expect(result.index).toBe(20);
51
- expect(result.text).toBe("ayer");
52
-
53
- expect(result.start).not.toBeNull();
54
- expect(result.start.get("year")).toBe(2012);
55
- expect(result.start.get("month")).toBe(8);
56
- expect(result.start.get("day")).toBe(9);
57
-
58
- expect(result.start).toBeDate(new Date(2012, 7, 9, 12));
59
- });
60
-
61
- testSingleCase(chrono.es, "La fecha límite fue ayer de noche ", new Date(2012, 7, 10, 12), (result) => {
62
- expect(result.index).toBe(20);
63
- expect(result.text).toBe("ayer de noche");
64
-
65
- expect(result.start).not.toBeNull();
66
- expect(result.start.get("year")).toBe(2012);
67
- expect(result.start.get("month")).toBe(8);
68
- expect(result.start.get("day")).toBe(9);
69
- expect(result.start.get("hour")).toBe(22);
70
-
71
- expect(result.start).toBeDate(new Date(2012, 7, 9, 22));
72
- });
73
-
74
- testSingleCase(chrono.es, "La fecha límite fue esta mañana ", new Date(2012, 7, 10, 12), (result) => {
75
- expect(result.index).toBe(20);
76
- expect(result.text).toBe("esta mañana");
77
-
78
- expect(result.start).not.toBeNull();
79
- expect(result.start.get("year")).toBe(2012);
80
- expect(result.start.get("month")).toBe(8);
81
- expect(result.start.get("day")).toBe(10);
82
- expect(result.start.get("hour")).toBe(6);
83
-
84
- expect(result.start).toBeDate(new Date(2012, 7, 10, 6));
85
- });
86
-
87
- testSingleCase(chrono.es, "La fecha límite fue esta tarde ", new Date(2012, 7, 10, 12), (result) => {
88
- expect(result.index).toBe(20);
89
- expect(result.text).toBe("esta tarde");
90
-
91
- expect(result.start).not.toBeNull();
92
- expect(result.start.get("year")).toBe(2012);
93
- expect(result.start.get("month")).toBe(8);
94
- expect(result.start.get("day")).toBe(10);
95
- expect(result.start.get("hour")).toBe(15);
96
-
97
- expect(result.start).toBeDate(new Date(2012, 7, 10, 15));
98
- });
99
- });
100
-
101
- test("Test - Combined Expression", function () {
102
- testSingleCase(chrono.es, "La fecha límite es hoy a las 5PM", new Date(2012, 7, 10, 12), (result) => {
103
- expect(result.index).toBe(19);
104
- expect(result.text).toBe("hoy a las 5PM");
105
-
106
- expect(result.start).not.toBeNull();
107
- expect(result.start.get("year")).toBe(2012);
108
- expect(result.start.get("month")).toBe(8);
109
- expect(result.start.get("day")).toBe(10);
110
- expect(result.start.get("hour")).toBe(17);
111
-
112
- expect(result.start).toBeDate(new Date(2012, 7, 10, 17));
113
- });
114
- });
115
-
116
- test("Test - Random text", function () {
117
- testSingleCase(chrono.es, "esta noche", new Date(2012, 1 - 1, 1, 12), (result, text) => {
118
- expect(result.text).toBe(text);
119
- expect(result.start.get("year")).toBe(2012);
120
- expect(result.start.get("month")).toBe(1);
121
- expect(result.start.get("day")).toBe(1);
122
- expect(result.start.get("hour")).toBe(22);
123
- expect(result.start.get("meridiem")).toBe(1);
124
- });
125
-
126
- testSingleCase(chrono.es, "esta noche 8pm", new Date(2012, 1 - 1, 1, 12), (result, text) => {
127
- expect(result.text).toBe(text);
128
- expect(result.start.get("hour")).toBe(20);
129
- expect(result.start.get("year")).toBe(2012);
130
- expect(result.start.get("month")).toBe(1);
131
- expect(result.start.get("day")).toBe(1);
132
- expect(result.start.get("meridiem")).toBe(1);
133
- });
134
-
135
- testSingleCase(chrono.es, "esta noche a las 8", new Date(2012, 1 - 1, 1, 12), (result, text) => {
136
- expect(result.text).toBe(text);
137
- expect(result.start.get("hour")).toBe(20);
138
- expect(result.start.get("year")).toBe(2012);
139
- expect(result.start.get("month")).toBe(1);
140
- expect(result.start.get("day")).toBe(1);
141
- expect(result.start.get("meridiem")).toBe(1);
142
- });
143
-
144
- testSingleCase(chrono.es, "jueves", (result, text) => {
145
- expect(result.text).toBe(text);
146
- expect(result.start.get("weekday")).toBe(4);
147
- });
148
-
149
- testSingleCase(chrono.es, "viernes", (result, text) => {
150
- expect(result.text).toBe(text);
151
- expect(result.start.get("weekday")).toBe(5);
152
- });
153
-
154
- testSingleCase(chrono.es, "el mediodía", new Date(2020, 8, 1, 11), (result) => {
155
- expect(result.start.get("hour")).toBe(12);
156
- expect(result.start).toBeDate(new Date(2020, 8, 1, 12));
157
- });
158
-
159
- testSingleCase(chrono.es, "la medianoche", new Date(2020, 8, 1, 11), (result) => {
160
- expect(result.start.get("hour")).toBe(0);
161
- expect(result.start).toBeDate(new Date(2020, 8, 2));
162
- });
163
- });
164
-
165
- test("Test - Random negative text", function () {
166
- testUnexpectedResult(chrono.es, "nohoy");
167
-
168
- testUnexpectedResult(chrono.es, "hymañana");
169
-
170
- testUnexpectedResult(chrono.es, "xayer");
171
-
172
- testUnexpectedResult(chrono.es, "porhora");
173
-
174
- testUnexpectedResult(chrono.es, "ahoraxsd");
175
- });