Skip to content

Commit 23abdda

Browse files
author
Wanasit Tanakitrungruang
committedAug 10, 2024·
Fix: (en) support new separator for date/time
1 parent be6e995 commit 23abdda

File tree

2 files changed

+59
-1
lines changed

2 files changed

+59
-1
lines changed
 

‎src/locales/en/refiners/ENMergeDateTimeRefiner.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ import AbstractMergeDateTimeRefiner from "../../../common/refiners/AbstractMerge
88
*/
99
export default class ENMergeDateTimeRefiner extends AbstractMergeDateTimeRefiner {
1010
patternBetween(): RegExp {
11-
return new RegExp("^\\s*(T|at|after|before|on|of|,|-|\\.|:)?\\s*$");
11+
return new RegExp("^\\s*(T|at|after|before|on|of|,|-|\\.|∙|:)?\\s*$");
1212
}
1313
}

‎test/en/en_time_exp.test.ts

+58
Original file line numberDiff line numberDiff line change
@@ -27,31 +27,89 @@ test("Test - Time expression", function () {
2727
test("Test - Time expression after date", function () {
2828
testSingleCase(chrono, "05/31/2024 14:15", new Date(2016, 10 - 1, 1, 8), (result, text) => {
2929
expect(result.text).toBe(text);
30+
31+
expect(result.start.get("year")).toBe(2024);
32+
expect(result.start.get("month")).toBe(5);
33+
expect(result.start.get("day")).toBe(31);
34+
3035
expect(result.start.get("hour")).toBe(14);
3136
expect(result.start.get("minute")).toBe(15);
3237
expect(result.start.get("meridiem")).toBe(Meridiem.PM);
3338
});
3439

3540
testSingleCase(chrono, "05/31/2024.14:15", new Date(2016, 10 - 1, 1, 8), (result, text) => {
3641
expect(result.text).toBe(text);
42+
43+
expect(result.start.get("year")).toBe(2024);
44+
expect(result.start.get("month")).toBe(5);
45+
expect(result.start.get("day")).toBe(31);
46+
3747
expect(result.start.get("hour")).toBe(14);
3848
expect(result.start.get("minute")).toBe(15);
3949
expect(result.start.get("meridiem")).toBe(Meridiem.PM);
4050
});
4151

4252
testSingleCase(chrono, "05/31/2024:14:15", new Date(2016, 10 - 1, 1, 8), (result, text) => {
4353
expect(result.text).toBe(text);
54+
55+
expect(result.start.get("year")).toBe(2024);
56+
expect(result.start.get("month")).toBe(5);
57+
expect(result.start.get("day")).toBe(31);
58+
4459
expect(result.start.get("hour")).toBe(14);
4560
expect(result.start.get("minute")).toBe(15);
4661
expect(result.start.get("meridiem")).toBe(Meridiem.PM);
4762
});
4863

4964
testSingleCase(chrono, "05/31/2024-14:15", new Date(2016, 10 - 1, 1, 8), (result, text) => {
5065
expect(result.text).toBe(text);
66+
67+
expect(result.start.get("year")).toBe(2024);
68+
expect(result.start.get("month")).toBe(5);
69+
expect(result.start.get("day")).toBe(31);
70+
71+
expect(result.start.get("hour")).toBe(14);
72+
expect(result.start.get("minute")).toBe(15);
73+
expect(result.start.get("meridiem")).toBe(Meridiem.PM);
74+
});
75+
});
76+
77+
test("Test - Time expression before date", () => {
78+
testSingleCase(chrono, "14:15 05/31/2024", new Date(2016, 10 - 1, 1, 8), (result, text) => {
79+
expect(result.text).toBe(text);
80+
81+
expect(result.start.get("year")).toBe(2024);
82+
expect(result.start.get("month")).toBe(5);
83+
expect(result.start.get("day")).toBe(31);
84+
5185
expect(result.start.get("hour")).toBe(14);
5286
expect(result.start.get("minute")).toBe(15);
5387
expect(result.start.get("meridiem")).toBe(Meridiem.PM);
5488
});
89+
90+
testSingleCase(chrono, "8:23 AM, Jul 9", new Date(2016, 10 - 1, 1, 8), (result, text) => {
91+
expect(result.text).toBe(text);
92+
93+
expect(result.start.get("year")).toBe(2016);
94+
expect(result.start.get("month")).toBe(7);
95+
expect(result.start.get("day")).toBe(9);
96+
97+
expect(result.start.get("hour")).toBe(8);
98+
expect(result.start.get("minute")).toBe(23);
99+
expect(result.start.get("meridiem")).toBe(Meridiem.AM);
100+
});
101+
102+
testSingleCase(chrono, "8:23 AM ∙ Jul 9", new Date(2016, 10 - 1, 1, 8), (result, text) => {
103+
expect(result.text).toBe(text);
104+
105+
expect(result.start.get("year")).toBe(2016);
106+
expect(result.start.get("month")).toBe(7);
107+
expect(result.start.get("day")).toBe(9);
108+
109+
expect(result.start.get("hour")).toBe(8);
110+
expect(result.start.get("minute")).toBe(23);
111+
expect(result.start.get("meridiem")).toBe(Meridiem.AM);
112+
});
55113
});
56114

57115
test("Test - Time range expression", function () {

0 commit comments

Comments
 (0)
Please sign in to comment.