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.
- package/dist/cjs/results.js +15 -9
- package/dist/cjs/results.js.map +1 -1
- package/dist/esm/results.js +14 -9
- package/dist/esm/results.js.map +1 -1
- package/package.json +5 -1
- package/src/results.ts +40 -9
- package/test/calculation_duration.test.ts +0 -165
- package/test/calculation_weekdays.test.ts +0 -133
- package/test/de/de_casual.test.ts +0 -336
- package/test/de/de_dash.test.ts +0 -32
- package/test/de/de_month_name_little_endian.test.ts +0 -273
- package/test/de/de_time_exp.test.ts +0 -223
- package/test/de/de_time_units_casual_relative.test.ts +0 -120
- package/test/de/de_time_units_within.test.ts +0 -119
- package/test/de/de_weekday.test.ts +0 -158
- package/test/de/de_year.test.ts +0 -147
- package/test/debugging.test.ts +0 -17
- package/test/en/en.test.ts +0 -191
- package/test/en/en_casual.test.ts +0 -425
- package/test/en/en_inter_std.test.ts +0 -118
- package/test/en/en_merging_relative_dates.test.ts +0 -50
- package/test/en/en_month.test.ts +0 -339
- package/test/en/en_month_name_little_endian.test.ts +0 -448
- package/test/en/en_month_name_middle_endian.test.ts +0 -386
- package/test/en/en_performance.test.ts +0 -26
- package/test/en/en_relative.test.ts +0 -393
- package/test/en/en_slash.test.ts +0 -284
- package/test/en/en_time_exp.test.ts +0 -535
- package/test/en/en_time_units_ago.test.ts +0 -357
- package/test/en/en_time_units_casual_relative.test.ts +0 -186
- package/test/en/en_time_units_later.test.ts +0 -361
- package/test/en/en_time_units_within.test.ts +0 -417
- package/test/en/en_timezone_exp.test.ts +0 -410
- package/test/en/en_weekday.test.ts +0 -573
- package/test/en/en_year.test.ts +0 -138
- package/test/en/en_year_month_day.test.ts +0 -101
- package/test/en/negative_cases.test.ts +0 -99
- package/test/es/es_casual.test.ts +0 -175
- package/test/es/es_month_name_little_endian.test.ts +0 -217
- package/test/es/es_slash.test.ts +0 -26
- package/test/es/es_time_exp.test.ts +0 -175
- package/test/es/es_time_units_within.test.ts +0 -119
- package/test/fi/fi_casual.test.ts +0 -99
- package/test/fi/fi_casual_time.test.ts +0 -56
- package/test/fi/fi_month_name_little_endian.test.ts +0 -50
- package/test/fi/fi_time_exp.test.ts +0 -39
- package/test/fi/fi_time_units_ago.test.ts +0 -93
- package/test/fi/fi_time_units_casual_relative.test.ts +0 -117
- package/test/fi/fi_time_units_within.test.ts +0 -74
- package/test/fi/fi_weekday.test.ts +0 -90
- package/test/fr/fr_casual.test.ts +0 -314
- package/test/fr/fr_little_endian.test.ts +0 -320
- package/test/fr/fr_slash.test.ts +0 -49
- package/test/fr/fr_time_exp.test.ts +0 -588
- package/test/fr/fr_time_units_ago.test.ts +0 -103
- package/test/fr/fr_time_units_casual_relative.test.ts +0 -114
- package/test/fr/fr_time_units_within.test.ts +0 -129
- package/test/fr/fr_weekday.test.ts +0 -130
- package/test/it/it_casual.test.ts +0 -81
- package/test/it/it_month_name_little_endian.test.ts +0 -28
- package/test/it/it_month_name_middle_endian.test.ts +0 -39
- package/test/it/it_time_exp.test.ts +0 -84
- package/test/it/it_weekday.test.ts +0 -37
- package/test/it/it_year_month_day.test.ts +0 -41
- package/test/ja/ja_casual.test.ts +0 -73
- package/test/ja/ja_slash_date_format.test.ts +0 -60
- package/test/ja/ja_standard.test.ts +0 -235
- package/test/ja/ja_time_exp.test.ts +0 -305
- package/test/ja/ja_weekday.test.ts +0 -183
- package/test/nl/nl_casual.test.ts +0 -408
- package/test/nl/nl_month.test.ts +0 -205
- package/test/nl/nl_month_name_little_endian.test.ts +0 -358
- package/test/nl/nl_relative.test.ts +0 -242
- package/test/nl/nl_slash.test.ts +0 -206
- package/test/nl/nl_time_exp.test.ts +0 -79
- package/test/nl/nl_time_units_ago.test.ts +0 -243
- package/test/nl/nl_time_units_casual_relative.test.ts +0 -130
- package/test/nl/nl_time_units_later.test.ts +0 -250
- package/test/nl/nl_time_units_within.test.ts +0 -225
- package/test/nl/nl_weekday.test.ts +0 -216
- package/test/pt/pt_casual.test.ts +0 -175
- package/test/pt/pt_month_name_little_endian.test.ts +0 -217
- package/test/pt/pt_slash.test.ts +0 -26
- package/test/pt/pt_time_exp.test.ts +0 -175
- package/test/result.test.ts +0 -283
- package/test/ru/ru_casual.test.ts +0 -159
- package/test/ru/ru_month.test.ts +0 -70
- package/test/ru/ru_month_name_little_endian.test.ts +0 -145
- package/test/ru/ru_relative.test.ts +0 -107
- package/test/ru/ru_time_exp.test.ts +0 -111
- package/test/ru/ru_time_units_ago.test.ts +0 -48
- package/test/ru/ru_time_units_casual_relative.test.ts +0 -190
- package/test/ru/ru_time_units_within.test.ts +0 -16
- package/test/ru/ru_weekday.test.ts +0 -52
- package/test/sv/sv_casual.test.ts +0 -87
- package/test/sv/sv_month_name_little_endian.test.ts +0 -48
- package/test/sv/sv_time_units_casual_relative.test.ts +0 -143
- package/test/sv/sv_weekday.test.ts +0 -68
- package/test/system.test.ts +0 -247
- package/test/system_timezone.test.ts +0 -284
- package/test/test_util.ts +0 -135
- package/test/uk/uk_casual.test.ts +0 -153
- package/test/uk/uk_month.test.ts +0 -70
- package/test/uk/uk_month_name_little_endian.test.ts +0 -148
- package/test/uk/uk_relative.test.ts +0 -107
- package/test/uk/uk_time_exp.test.ts +0 -111
- package/test/uk/uk_time_units_ago.test.ts +0 -48
- package/test/uk/uk_time_units_casual_relative.test.ts +0 -142
- package/test/uk/uk_time_units_within.test.ts +0 -23
- package/test/uk/uk_weekday.test.ts +0 -52
- package/test/vi/vi_casual.test.ts +0 -84
- package/test/vi/vi_casual_time.test.ts +0 -77
- package/test/vi/vi_date_range.test.ts +0 -61
- package/test/vi/vi_forward_date.test.ts +0 -45
- package/test/vi/vi_month_year.test.ts +0 -40
- package/test/vi/vi_negative_cases.test.ts +0 -60
- package/test/vi/vi_slash.test.ts +0 -36
- package/test/vi/vi_standard.test.ts +0 -86
- package/test/vi/vi_strict.test.ts +0 -67
- package/test/vi/vi_time_exp.test.ts +0 -99
- package/test/vi/vi_time_units_ago.test.ts +0 -56
- package/test/vi/vi_time_units_casual_relative.test.ts +0 -56
- package/test/vi/vi_time_units_later.test.ts +0 -43
- package/test/vi/vi_time_units_within.test.ts +0 -24
- package/test/vi/vi_weekday.test.ts +0 -77
- package/test/vi/vi_year.test.ts +0 -42
- package/test/zh/hans/zh_hans_ago.test.ts +0 -58
- package/test/zh/hans/zh_hans_casual.test.ts +0 -242
- package/test/zh/hans/zh_hans_date.test.ts +0 -116
- package/test/zh/hans/zh_hans_deadline.test.ts +0 -175
- package/test/zh/hans/zh_hans_time_exp.test.ts +0 -508
- package/test/zh/hans/zh_hans_weekday.test.ts +0 -219
- package/test/zh/hant/zh_hant_ago.test.ts +0 -58
- package/test/zh/hant/zh_hant_casual.test.ts +0 -260
- package/test/zh/hant/zh_hant_date.test.ts +0 -116
- package/test/zh/hant/zh_hant_deadline.test.ts +0 -136
- package/test/zh/hant/zh_hant_time_exp.test.ts +0 -226
- package/test/zh/hant/zh_hant_weekday.test.ts +0 -175
- package/test/zh/zh.test.ts +0 -36
- package/tsconfig.build.esm.json +0 -8
- package/tsconfig.build.json +0 -10
- package/tsconfig.json +0 -29
package/test/de/de_year.test.ts
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import * as chrono from "../../src";
|
|
2
|
-
import { testSingleCase } from "../test_util";
|
|
3
|
-
//import DETimeExpressionParser from "../../src/locales/de/parsers/DETimeExpressionParser";
|
|
4
|
-
|
|
5
|
-
test("Test - Year numbers with v/nuZ Era label", () => {
|
|
6
|
-
testSingleCase(chrono.de, "10. August 234 v.u.Z.", new Date(2012, 7, 10), (result) => {
|
|
7
|
-
expect(result.index).toBe(0);
|
|
8
|
-
expect(result.text).toBe("10. August 234 v.u.Z."); // 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.de, "10. August 88 nuZ", new Date(2012, 7, 10), (result) => {
|
|
19
|
-
expect(result.index).toBe(0);
|
|
20
|
-
expect(result.text).toBe("10. August 88 nuZ");
|
|
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
|
-
testSingleCase(chrono.de, "10. August 88 uZ", new Date(2012, 7, 10), (result) => {
|
|
34
|
-
expect(result.index).toBe(0);
|
|
35
|
-
expect(result.text).toBe("10. August 88 uZ");
|
|
36
|
-
|
|
37
|
-
expect(result.start).not.toBeNull();
|
|
38
|
-
expect(result.start.get("year")).toBe(88);
|
|
39
|
-
expect(result.start.get("month")).toBe(8);
|
|
40
|
-
expect(result.start.get("day")).toBe(10);
|
|
41
|
-
|
|
42
|
-
//const resultDate = result.start.date();
|
|
43
|
-
const expectDate = new Date(88, 8 - 1, 10, 12);
|
|
44
|
-
expectDate.setFullYear(88);
|
|
45
|
-
//expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
testSingleCase(chrono.de, "10. August 88 d.g.Z.", new Date(2012, 7, 10), (result) => {
|
|
49
|
-
expect(result.index).toBe(0);
|
|
50
|
-
expect(result.text).toBe("10. August 88 d.g.Z.");
|
|
51
|
-
|
|
52
|
-
expect(result.start).not.toBeNull();
|
|
53
|
-
expect(result.start.get("year")).toBe(88);
|
|
54
|
-
expect(result.start.get("month")).toBe(8);
|
|
55
|
-
expect(result.start.get("day")).toBe(10);
|
|
56
|
-
|
|
57
|
-
//const resultDate = result.start.date();
|
|
58
|
-
const expectDate = new Date(88, 8 - 1, 10, 12);
|
|
59
|
-
expectDate.setFullYear(88);
|
|
60
|
-
//expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
test("Test - Year numbers with v/nChr Era label", () => {
|
|
65
|
-
testSingleCase(chrono.de, "10. August 234 v.Chr.", new Date(2012, 7, 10), (result) => {
|
|
66
|
-
expect(result.index).toBe(0);
|
|
67
|
-
expect(result.text).toBe("10. August 234 v.Chr.");
|
|
68
|
-
|
|
69
|
-
expect(result.start).not.toBeNull();
|
|
70
|
-
expect(result.start.get("year")).toBe(-234);
|
|
71
|
-
expect(result.start.get("month")).toBe(8);
|
|
72
|
-
expect(result.start.get("day")).toBe(10);
|
|
73
|
-
|
|
74
|
-
//expect(result.start).toBeDate(new Date(-234, 8 - 1, 10, 12));
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
testSingleCase(chrono.de, "10. August 88 nC", new Date(2012, 7, 10), (result) => {
|
|
78
|
-
expect(result.index).toBe(0);
|
|
79
|
-
expect(result.text).toBe("10. August 88 nC");
|
|
80
|
-
|
|
81
|
-
expect(result.start).not.toBeNull();
|
|
82
|
-
expect(result.start.get("year")).toBe(88);
|
|
83
|
-
expect(result.start.get("month")).toBe(8);
|
|
84
|
-
expect(result.start.get("day")).toBe(10);
|
|
85
|
-
|
|
86
|
-
//const resultDate = result.start.date();
|
|
87
|
-
const expectDate = new Date(88, 8 - 1, 10, 12);
|
|
88
|
-
expectDate.setFullYear(88);
|
|
89
|
-
//expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
test("Test - Year numbers with v/ndgZ Era label", () => {
|
|
94
|
-
testSingleCase(chrono.de, "10. August 234 v.d.Z.", new Date(2012, 7, 10), (result) => {
|
|
95
|
-
expect(result.index).toBe(0);
|
|
96
|
-
expect(result.text).toBe("10. August 234 v.d.Z.");
|
|
97
|
-
|
|
98
|
-
expect(result.start).not.toBeNull();
|
|
99
|
-
expect(result.start.get("year")).toBe(-234);
|
|
100
|
-
expect(result.start.get("month")).toBe(8);
|
|
101
|
-
expect(result.start.get("day")).toBe(10);
|
|
102
|
-
|
|
103
|
-
//expect(result.start).toBeDate(new Date(-234, 8 - 1, 10, 12));
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
testSingleCase(chrono.de, "10. August 88 ndZ", new Date(2012, 7, 10), (result) => {
|
|
107
|
-
expect(result.index).toBe(0);
|
|
108
|
-
expect(result.text).toBe("10. August 88 ndZ");
|
|
109
|
-
|
|
110
|
-
expect(result.start).not.toBeNull();
|
|
111
|
-
expect(result.start.get("year")).toBe(88);
|
|
112
|
-
expect(result.start.get("month")).toBe(8);
|
|
113
|
-
expect(result.start.get("day")).toBe(10);
|
|
114
|
-
|
|
115
|
-
//const resultDate = result.start.date();
|
|
116
|
-
const expectDate = new Date(88, 8 - 1, 10, 12);
|
|
117
|
-
expectDate.setFullYear(88);
|
|
118
|
-
//expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
testSingleCase(chrono.de, "10. August 234 v.d.g.Z.", new Date(2012, 7, 10), (result) => {
|
|
122
|
-
expect(result.index).toBe(0);
|
|
123
|
-
expect(result.text).toBe("10. August 234 v.d.g.Z.");
|
|
124
|
-
|
|
125
|
-
expect(result.start).not.toBeNull();
|
|
126
|
-
expect(result.start.get("year")).toBe(-234);
|
|
127
|
-
expect(result.start.get("month")).toBe(8);
|
|
128
|
-
expect(result.start.get("day")).toBe(10);
|
|
129
|
-
|
|
130
|
-
//expect(result.start).toBeDate(new Date(-234, 8 - 1, 10, 12));
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
testSingleCase(chrono.de, "10. August 88 ndgZ", new Date(2012, 7, 10), (result) => {
|
|
134
|
-
expect(result.index).toBe(0);
|
|
135
|
-
expect(result.text).toBe("10. August 88 ndgZ");
|
|
136
|
-
|
|
137
|
-
expect(result.start).not.toBeNull();
|
|
138
|
-
expect(result.start.get("year")).toBe(88);
|
|
139
|
-
expect(result.start.get("month")).toBe(8);
|
|
140
|
-
expect(result.start.get("day")).toBe(10);
|
|
141
|
-
|
|
142
|
-
//const resultDate = result.start.date();
|
|
143
|
-
const expectDate = new Date(88, 8 - 1, 10, 12);
|
|
144
|
-
expectDate.setFullYear(88);
|
|
145
|
-
//expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
146
|
-
});
|
|
147
|
-
});
|
package/test/debugging.test.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { BufferedDebugHandler } from "../src/debugging";
|
|
2
|
-
|
|
3
|
-
test("Test - BufferedDebugHandler", () => {
|
|
4
|
-
const debugHandler = new BufferedDebugHandler();
|
|
5
|
-
|
|
6
|
-
const debugBlockA = jest.fn();
|
|
7
|
-
debugHandler.debug(() => debugBlockA());
|
|
8
|
-
expect(debugBlockA).not.toBeCalled();
|
|
9
|
-
|
|
10
|
-
const debugBlockB = jest.fn();
|
|
11
|
-
debugHandler.debug(() => debugBlockB());
|
|
12
|
-
expect(debugBlockB).not.toBeCalled();
|
|
13
|
-
|
|
14
|
-
debugHandler.executeBufferedBlocks();
|
|
15
|
-
expect(debugBlockA).toBeCalled();
|
|
16
|
-
expect(debugBlockB).toBeCalled();
|
|
17
|
-
});
|
package/test/en/en.test.ts
DELETED
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import * as chrono from "../../src";
|
|
2
|
-
import { testSingleCase, testUnexpectedResult } from "../test_util";
|
|
3
|
-
import ENTimeExpressionParser from "../../src/locales/en/parsers/ENTimeExpressionParser";
|
|
4
|
-
import { Meridiem } from "../../src";
|
|
5
|
-
|
|
6
|
-
test("Test - Date + Time Expression", function () {
|
|
7
|
-
testSingleCase(chrono, "Something happen on 2014-04-18 13:00 - 16:00 as", (result) => {
|
|
8
|
-
expect(result.text).toBe("2014-04-18 13:00 - 16:00");
|
|
9
|
-
|
|
10
|
-
expect(result.start).toBeDate(new Date(2014, 4 - 1, 18, 13));
|
|
11
|
-
expect(result.end).toBeDate(new Date(2014, 4 - 1, 18, 16));
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
test("Test - Time Expression", function () {
|
|
16
|
-
testSingleCase(chrono, "between 3:30-4:30pm", new Date(2020, 7 - 1, 6), (result) => {
|
|
17
|
-
expect(result.text).toBe("3:30-4:30pm");
|
|
18
|
-
|
|
19
|
-
expect(result.start).toBeDate(new Date(2020, 7 - 1, 6, 15, 30));
|
|
20
|
-
expect(result.end).toBeDate(new Date(2020, 7 - 1, 6, 16, 30));
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
testSingleCase(chrono, "9:00 PST", new Date(2020, 7 - 1, 6), (result) => {
|
|
24
|
-
expect(result.text).toBe("9:00 PST");
|
|
25
|
-
|
|
26
|
-
expect(result.start.get("hour")).toBe(9);
|
|
27
|
-
expect(result.start.get("minute")).toBe(0);
|
|
28
|
-
expect(result.start.get("timezoneOffset")).toBe(-480);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
test("Test - Quoted Expressions", function () {
|
|
33
|
-
testSingleCase(chrono, "Want to meet for dinner (5pm EST)?", new Date(2020, 7 - 1, 6), (result) => {
|
|
34
|
-
expect(result.text).toContain("5pm EST");
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
testSingleCase(chrono, "between '3:30-4:30pm'", new Date(2020, 7 - 1, 6), (result) => {
|
|
38
|
-
expect(result.text).toContain("3:30-4:30pm");
|
|
39
|
-
|
|
40
|
-
expect(result.start).toBeDate(new Date(2020, 7 - 1, 6, 15, 30));
|
|
41
|
-
expect(result.end).toBeDate(new Date(2020, 7 - 1, 6, 16, 30));
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
testSingleCase(chrono, "The date is '2014-04-18'", (result) => {
|
|
45
|
-
expect(result.text).toContain("2014-04-18");
|
|
46
|
-
expect(result.start).toBeDate(new Date(2014, 4 - 1, 18, 12));
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
test("Test - Strict Mode", function () {
|
|
51
|
-
testUnexpectedResult(chrono.strict, "Tuesday");
|
|
52
|
-
});
|
|
53
|
-
test("Test - Built-in English variants", () => {
|
|
54
|
-
testSingleCase(chrono.en, "6/10/2018", (result) => {
|
|
55
|
-
expect(result.start).toBeDate(new Date(2018, 6 - 1, 10, 12));
|
|
56
|
-
});
|
|
57
|
-
testSingleCase(chrono.en.GB, "6/10/2018", (result) => {
|
|
58
|
-
expect(result.start).toBeDate(new Date(2018, 10 - 1, 6, 12));
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
test("Test - Random text", function () {
|
|
63
|
-
testSingleCase(chrono, "Adam <Adam@supercalendar.com> написал(а):\nThe date is 02.07.2013", (result) => {
|
|
64
|
-
expect(result.text).toBe("02.07.2013");
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
testSingleCase(chrono, "174 November 1,2001- March 31,2002", (result) => {
|
|
68
|
-
expect(result.text).toBe("November 1,2001- March 31,2002");
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
testSingleCase(chrono, "...Thursday, December 15, 2011 Best Available Rate ", (result) => {
|
|
72
|
-
expect(result.text).toBe("Thursday, December 15, 2011");
|
|
73
|
-
expect(result.start.get("year")).toBe(2011);
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
testSingleCase(chrono, "SUN 15SEP 11:05 AM - 12:50 PM", (result) => {
|
|
77
|
-
expect(result.text).toBe("SUN 15SEP 11:05 AM - 12:50 PM");
|
|
78
|
-
|
|
79
|
-
expect(result.end.get("hour")).toBe(12);
|
|
80
|
-
expect(result.end.get("minute")).toBe(50);
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
testSingleCase(chrono, "FRI 13SEP 1:29 PM - FRI 13SEP 3:29 PM", (result) => {
|
|
84
|
-
expect(result.text).toBe("FRI 13SEP 1:29 PM - FRI 13SEP 3:29 PM");
|
|
85
|
-
|
|
86
|
-
expect(result.start.get("day")).toBe(13);
|
|
87
|
-
expect(result.start.get("hour")).toBe(13);
|
|
88
|
-
expect(result.start.get("minute")).toBe(29);
|
|
89
|
-
|
|
90
|
-
expect(result.end.get("day")).toBe(13);
|
|
91
|
-
expect(result.end.get("hour")).toBe(15);
|
|
92
|
-
expect(result.end.get("minute")).toBe(29);
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
testSingleCase(chrono, "9:00 AM to 5:00 PM, Tuesday, 20 May 2013", (result) => {
|
|
96
|
-
expect(result.text).toBe("9:00 AM to 5:00 PM, Tuesday, 20 May 2013");
|
|
97
|
-
|
|
98
|
-
expect(result.start).toBeDate(new Date(2013, 4, 20, 9, 0));
|
|
99
|
-
expect(result.end).toBeDate(new Date(2013, 4, 20, 17, 0));
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
testSingleCase(chrono, "Monday afternoon to last night", new Date(2017, 7 - 1, 7), (result) => {
|
|
103
|
-
expect(result.text).toBe("Monday afternoon to last night");
|
|
104
|
-
expect(result.start.get("day")).toBe(3);
|
|
105
|
-
expect(result.start.get("month")).toBe(7);
|
|
106
|
-
expect(result.end.get("day")).toBe(7);
|
|
107
|
-
expect(result.end.get("month")).toBe(7);
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
testSingleCase(chrono, "07-27-2022, 02:00 AM", new Date(2017, 7 - 1, 7), (result) => {
|
|
111
|
-
expect(result.text).toBe("07-27-2022, 02:00 AM");
|
|
112
|
-
expect(result.start.get("day")).toBe(27);
|
|
113
|
-
expect(result.start.get("month")).toBe(7);
|
|
114
|
-
expect(result.start.get("year")).toBe(2022);
|
|
115
|
-
expect(result.start.get("hour")).toBe(2);
|
|
116
|
-
expect(result.start.get("meridiem")).toBe(Meridiem.AM);
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
test("Test - Wikipedia Texts", function () {
|
|
121
|
-
const text =
|
|
122
|
-
"October 7, 2011, of which details were not revealed out of respect to Jobs's family.[239] " +
|
|
123
|
-
"Apple announced on the same day that they had no plans for a public service, but were encouraging " +
|
|
124
|
-
'"well-wishers" to send their remembrance messages to an email address created to receive such messages.[240] ' +
|
|
125
|
-
"Sunday, October 16, 2011";
|
|
126
|
-
|
|
127
|
-
const results = chrono.parse(text, new Date(2012, 7, 10));
|
|
128
|
-
expect(results.length).toBe(2);
|
|
129
|
-
|
|
130
|
-
{
|
|
131
|
-
const result = results[0];
|
|
132
|
-
expect(result.start.get("year")).toBe(2011);
|
|
133
|
-
expect(result.start.get("month")).toBe(10);
|
|
134
|
-
expect(result.start.get("day")).toBe(7);
|
|
135
|
-
|
|
136
|
-
expect(result.index).toBe(0);
|
|
137
|
-
expect(result.text).toBe("October 7, 2011");
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
{
|
|
141
|
-
const result = results[1];
|
|
142
|
-
expect(result.start.get("year")).toBe(2011);
|
|
143
|
-
expect(result.start.get("month")).toBe(10);
|
|
144
|
-
expect(result.start.get("day")).toBe(16);
|
|
145
|
-
|
|
146
|
-
expect(result.index).toBe(297);
|
|
147
|
-
expect(result.text).toBe("Sunday, October 16, 2011");
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
test("Test - Parse multiple date results", function () {
|
|
152
|
-
const text = "I will see you at 2:30. If not I will see you somewhere between 3:30-4:30pm";
|
|
153
|
-
const results = chrono.parse(text, new Date(2020, 7 - 1, 6));
|
|
154
|
-
expect(results.length).toBe(2);
|
|
155
|
-
|
|
156
|
-
{
|
|
157
|
-
const result = results[0];
|
|
158
|
-
expect(result.text).toBe("at 2:30");
|
|
159
|
-
expect(result.start.get("year")).toBe(2020);
|
|
160
|
-
expect(result.start.get("month")).toBe(7);
|
|
161
|
-
expect(result.start.get("day")).toBe(6);
|
|
162
|
-
expect(result.start.get("hour")).toBe(2);
|
|
163
|
-
|
|
164
|
-
expect(result.end).toBeNull();
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
{
|
|
168
|
-
const result = results[1];
|
|
169
|
-
expect(result.text).toBe("3:30-4:30pm");
|
|
170
|
-
|
|
171
|
-
expect(result.start.get("hour")).toBe(15);
|
|
172
|
-
expect(result.start.get("minute")).toBe(30);
|
|
173
|
-
|
|
174
|
-
expect(result.end.get("hour")).toBe(16);
|
|
175
|
-
expect(result.end.get("minute")).toBe(30);
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
test("Test - Customize by removing time extraction", () => {
|
|
180
|
-
const custom = chrono.en.casual.clone();
|
|
181
|
-
custom.parsers = custom.parsers.filter((p) => !(p instanceof ENTimeExpressionParser));
|
|
182
|
-
|
|
183
|
-
custom.parse("Thursday 9AM");
|
|
184
|
-
|
|
185
|
-
testSingleCase(custom, "Thursday 9AM", new Date(2020, 11 - 1, 29), (result, text) => {
|
|
186
|
-
expect(result.text).toBe("Thursday");
|
|
187
|
-
expect(result.start.get("year")).toBe(2020);
|
|
188
|
-
expect(result.start.get("month")).toBe(11);
|
|
189
|
-
expect(result.start.get("day")).toBe(26);
|
|
190
|
-
});
|
|
191
|
-
});
|