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
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import * as chrono from "../../src/";
|
|
2
|
-
import { testSingleCase } from "../test_util";
|
|
3
|
-
|
|
4
|
-
test("Test - N ng\u00e0y tr\u01b0\u1edbc", () => {
|
|
5
|
-
testSingleCase(chrono.vi, "S\u1ef1 ki\u1ec7n 3 ng\u00e0y tr\u01b0\u1edbc.", new Date(2012, 7, 10, 12), (r) => {
|
|
6
|
-
expect(r.index).toBe(8);
|
|
7
|
-
expect(r.text).toBe("3 ng\u00e0y tr\u01b0\u1edbc");
|
|
8
|
-
expect(r.start.get("year")).toBe(2012);
|
|
9
|
-
expect(r.start.get("month")).toBe(8);
|
|
10
|
-
expect(r.start.get("day")).toBe(7);
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
test("Test - N tu\u1ea7n tr\u01b0\u1edbc", () => {
|
|
15
|
-
testSingleCase(chrono.vi, "2 tu\u1ea7n tr\u01b0\u1edbc", new Date(2012, 7, 10, 12), (r) => {
|
|
16
|
-
expect(r.start.get("day")).toBe(27); // Aug 27 - 14 = July 27
|
|
17
|
-
expect(r.start.get("month")).toBe(7);
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
test("Test - N th\u00e1ng tr\u01b0\u1edbc", () => {
|
|
22
|
-
testSingleCase(chrono.vi, "3 th\u00e1ng tr\u01b0\u1edbc", new Date(2012, 7, 10, 12), (r) => {
|
|
23
|
-
expect(r.start.get("month")).toBe(5);
|
|
24
|
-
expect(r.start.get("year")).toBe(2012);
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
test("Test - N n\u0103m tr\u01b0\u1edbc", () => {
|
|
29
|
-
testSingleCase(chrono.vi, "5 n\u0103m tr\u01b0\u1edbc", new Date(2012, 7, 10, 12), (r) => {
|
|
30
|
-
expect(r.start.get("year")).toBe(2007);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
test("Test - qua variant (1 tháng qua)", () => {
|
|
35
|
-
testSingleCase(chrono.vi, "1 tháng qua", new Date(2012, 7, 10, 12), (r) => {
|
|
36
|
-
expect(r.start.get("month")).toBe(7);
|
|
37
|
-
expect(r.start.get("year")).toBe(2012);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
test("Test - number-word durations (hai/ba/một)", () => {
|
|
42
|
-
testSingleCase(chrono.vi, "hai tuần trước", new Date(2012, 7, 10, 12), (r) => {
|
|
43
|
-
expect(r.start.get("day")).toBe(27);
|
|
44
|
-
expect(r.start.get("month")).toBe(7);
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
testSingleCase(chrono.vi, "ba ngày trước", new Date(2012, 7, 10, 12), (r) => {
|
|
48
|
-
expect(r.start.get("day")).toBe(7);
|
|
49
|
-
expect(r.start.get("month")).toBe(8);
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
testSingleCase(chrono.vi, "một tháng qua", new Date(2012, 7, 10, 12), (r) => {
|
|
53
|
-
expect(r.start.get("month")).toBe(7);
|
|
54
|
-
expect(r.start.get("year")).toBe(2012);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import * as chrono from "../../src/";
|
|
2
|
-
import { testSingleCase } from "../test_util";
|
|
3
|
-
|
|
4
|
-
const REF = new Date(2012, 7, 10, 12); // 2012-08-10 noon
|
|
5
|
-
|
|
6
|
-
test("Test - hôm qua lúc 7 giờ (morning reference = AM context)", () => {
|
|
7
|
-
// Reference at 6am => implicit meridiem AM => 7 giờ = 7:00 AM
|
|
8
|
-
testSingleCase(chrono.vi, "hôm qua lúc 7 giờ", new Date(2012, 7, 10, 6), (r) => {
|
|
9
|
-
expect(r.start.get("year")).toBe(2012);
|
|
10
|
-
expect(r.start.get("month")).toBe(8);
|
|
11
|
-
expect(r.start.get("day")).toBe(9);
|
|
12
|
-
expect(r.start.get("hour")).toBe(7);
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
test("Test - ngày mai lúc 15 giờ", () => {
|
|
17
|
-
testSingleCase(chrono.vi, "ngày mai lúc 15 giờ", REF, (r) => {
|
|
18
|
-
expect(r.start.get("day")).toBe(11);
|
|
19
|
-
expect(r.start.get("hour")).toBe(15);
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
test("Test - hôm nay buổi sáng", () => {
|
|
24
|
-
testSingleCase(chrono.vi, "hôm nay buổi sáng", REF, (r) => {
|
|
25
|
-
expect(r.start.get("day")).toBe(10);
|
|
26
|
-
expect(r.start.get("hour")).toBe(9);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
test("Test - bare unit: tháng trước (last month, no number)", () => {
|
|
31
|
-
testSingleCase(chrono.vi, "tháng trước", REF, (r) => {
|
|
32
|
-
expect(r.start.get("year")).toBe(2012);
|
|
33
|
-
expect(r.start.get("month")).toBe(7); // August - 1 = July
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
test("Test - bare unit: năm sau (next year, no number)", () => {
|
|
38
|
-
testSingleCase(chrono.vi, "năm sau", REF, (r) => {
|
|
39
|
-
expect(r.start.get("year")).toBe(2013);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
test("Test - bare unit: tuần trước (last week, no number)", () => {
|
|
44
|
-
testSingleCase(chrono.vi, "tuần trước", REF, (r) => {
|
|
45
|
-
expect(r.start.get("year")).toBe(2012);
|
|
46
|
-
expect(r.start.get("month")).toBe(8);
|
|
47
|
-
expect(r.start.get("day")).toBe(3); // 10 - 7 = 3
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
test("Test - numbered form still works: 2 tuần trước", () => {
|
|
52
|
-
testSingleCase(chrono.vi, "2 tuần trước", REF, (r) => {
|
|
53
|
-
expect(r.start.get("day")).toBe(27); // Aug 10 - 14 days = Jul 27
|
|
54
|
-
expect(r.start.get("month")).toBe(7);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import * as chrono from "../../src/";
|
|
2
|
-
import { testSingleCase } from "../test_util";
|
|
3
|
-
|
|
4
|
-
test("Test - N ng\u00e0y sau", () => {
|
|
5
|
-
testSingleCase(chrono.vi, "S\u1ef1 ki\u1ec7n 3 ng\u00e0y sau.", new Date(2012, 7, 10, 12), (r) => {
|
|
6
|
-
expect(r.index).toBe(8);
|
|
7
|
-
expect(r.text).toBe("3 ng\u00e0y sau");
|
|
8
|
-
expect(r.start.get("day")).toBe(13);
|
|
9
|
-
expect(r.start.get("month")).toBe(8);
|
|
10
|
-
});
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
test("Test - N tu\u1ea7n n\u1eefa", () => {
|
|
14
|
-
testSingleCase(chrono.vi, "2 tu\u1ea7n n\u1eefa", new Date(2012, 7, 10, 12), (r) => {
|
|
15
|
-
expect(r.start.get("day")).toBe(24);
|
|
16
|
-
expect(r.start.get("month")).toBe(8);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
test("Test - N th\u00e1ng t\u1edbi", () => {
|
|
21
|
-
testSingleCase(chrono.vi, "3 th\u00e1ng t\u1edbi", new Date(2012, 7, 10, 12), (r) => {
|
|
22
|
-
expect(r.start.get("month")).toBe(11);
|
|
23
|
-
expect(r.start.get("year")).toBe(2012);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
test("Test - N n\u0103m sau", () => {
|
|
28
|
-
testSingleCase(chrono.vi, "10 n\u0103m sau", new Date(2012, 7, 10, 12), (r) => {
|
|
29
|
-
expect(r.start.get("year")).toBe(2022);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
test("Test - number-word durations (ba/hai)", () => {
|
|
34
|
-
testSingleCase(chrono.vi, "ba ngày sau", new Date(2012, 7, 10, 12), (r) => {
|
|
35
|
-
expect(r.start.get("day")).toBe(13);
|
|
36
|
-
expect(r.start.get("month")).toBe(8);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
testSingleCase(chrono.vi, "hai tuần nữa", new Date(2012, 7, 10, 12), (r) => {
|
|
40
|
-
expect(r.start.get("day")).toBe(24);
|
|
41
|
-
expect(r.start.get("month")).toBe(8);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as chrono from "../../src/";
|
|
2
|
-
import { testSingleCase } from "../test_util";
|
|
3
|
-
|
|
4
|
-
test("Test - trong N ng\u00e0y", () => {
|
|
5
|
-
testSingleCase(chrono.vi, "trong 3 ng\u00e0y", new Date(2012, 7, 10, 12), (r) => {
|
|
6
|
-
expect(r.text).toBe("trong 3 ng\u00e0y");
|
|
7
|
-
expect(r.start.get("day")).toBe(13);
|
|
8
|
-
expect(r.start.get("month")).toBe(8);
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
test("Test - trong N tu\u1ea7n", () => {
|
|
13
|
-
testSingleCase(chrono.vi, "Ho\u00e0n th\u00e0nh trong 2 tu\u1ea7n.", new Date(2012, 7, 10, 12), (r) => {
|
|
14
|
-
expect(r.start.get("day")).toBe(24);
|
|
15
|
-
expect(r.start.get("month")).toBe(8);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
test("Test - trong v\u00f2ng N th\u00e1ng", () => {
|
|
20
|
-
testSingleCase(chrono.vi, "trong v\u00f2ng 3 th\u00e1ng", new Date(2012, 7, 10, 12), (r) => {
|
|
21
|
-
expect(r.start.get("month")).toBe(11);
|
|
22
|
-
expect(r.start.get("year")).toBe(2012);
|
|
23
|
-
});
|
|
24
|
-
});
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import * as chrono from "../../src/";
|
|
2
|
-
import { testSingleCase } from "../test_util";
|
|
3
|
-
|
|
4
|
-
// REF: 2012-08-09 Thu
|
|
5
|
-
const REF = new Date(2012, 7, 9);
|
|
6
|
-
|
|
7
|
-
test("Test - full weekday names", () => {
|
|
8
|
-
testSingleCase(chrono.vi, "H\u1ecdn v\u00e0o th\u1ee9 hai", REF, (r) => {
|
|
9
|
-
expect(r.index).toBe(8);
|
|
10
|
-
expect(r.start.get("weekday")).toBe(1);
|
|
11
|
-
});
|
|
12
|
-
testSingleCase(chrono.vi, "th\u1ee9 ba", REF, (r) => {
|
|
13
|
-
expect(r.start.get("weekday")).toBe(2);
|
|
14
|
-
});
|
|
15
|
-
testSingleCase(chrono.vi, "th\u1ee9 t\u01b0", REF, (r) => {
|
|
16
|
-
expect(r.start.get("weekday")).toBe(3);
|
|
17
|
-
});
|
|
18
|
-
testSingleCase(chrono.vi, "th\u1ee9 n\u0103m", REF, (r) => {
|
|
19
|
-
expect(r.start.get("weekday")).toBe(4);
|
|
20
|
-
});
|
|
21
|
-
testSingleCase(chrono.vi, "th\u1ee9 s\u00e1u", REF, (r) => {
|
|
22
|
-
expect(r.start.get("weekday")).toBe(5);
|
|
23
|
-
});
|
|
24
|
-
testSingleCase(chrono.vi, "th\u1ee9 b\u1ea3y", REF, (r) => {
|
|
25
|
-
expect(r.start.get("weekday")).toBe(6);
|
|
26
|
-
});
|
|
27
|
-
testSingleCase(chrono.vi, "ch\u1ee7 nh\u1eadt", REF, (r) => {
|
|
28
|
-
expect(r.start.get("weekday")).toBe(0);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
test("Test - abbreviations t2-t7 / cn", () => {
|
|
33
|
-
testSingleCase(chrono.vi, "H\u1ecdn t2", REF, (r) => {
|
|
34
|
-
expect(r.index).toBe(4);
|
|
35
|
-
expect(r.start.get("weekday")).toBe(1);
|
|
36
|
-
});
|
|
37
|
-
testSingleCase(chrono.vi, "t7", REF, (r) => {
|
|
38
|
-
expect(r.start.get("weekday")).toBe(6);
|
|
39
|
-
});
|
|
40
|
-
testSingleCase(chrono.vi, "cn", REF, (r) => {
|
|
41
|
-
expect(r.start.get("weekday")).toBe(0);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
test("Test - weekday implies a date", () => {
|
|
46
|
-
testSingleCase(chrono.vi, "th\u1ee9 hai t\u1edbi", REF, (r) => {
|
|
47
|
-
expect(r.start.get("weekday")).toBe(1);
|
|
48
|
-
expect(r.start.isCertain("day")).toBe(false); // implied, not certain
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
test("Test - next weekday modifiers (tới/sau)", () => {
|
|
53
|
-
// REF is Thu 2012-08-09; next Monday = 2012-08-13
|
|
54
|
-
testSingleCase(chrono.vi, "th\u1ee9 hai t\u1edbi", REF, (r) => {
|
|
55
|
-
expect(r.start.get("weekday")).toBe(1);
|
|
56
|
-
expect(r.start.get("day")).toBe(13);
|
|
57
|
-
});
|
|
58
|
-
testSingleCase(chrono.vi, "th\u1ee9 hai sau", REF, (r) => {
|
|
59
|
-
expect(r.start.get("weekday")).toBe(1);
|
|
60
|
-
expect(r.start.get("day")).toBe(13);
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
test("Test - last weekday modifier (qua)", () => {
|
|
65
|
-
// REF is Thu 2012-08-09; last Monday = 2012-08-06
|
|
66
|
-
testSingleCase(chrono.vi, "th\u1ee9 hai qua", REF, (r) => {
|
|
67
|
-
expect(r.start.get("weekday")).toBe(1);
|
|
68
|
-
expect(r.start.get("day")).toBe(6);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
test("Test - 'sau khi' conjunction not parsed as weekday modifier", () => {
|
|
73
|
-
const results = chrono.vi.parse("thứ hai sau khi chiến tranh kết thúc", new Date(2012, 7, 10, 12));
|
|
74
|
-
// Should parse 'thứ hai' (Monday) without consuming 'sau' from 'sau khi'
|
|
75
|
-
expect(results.length).toBe(1);
|
|
76
|
-
expect(results[0].text).toBe("thứ hai"); // 'sau' not included
|
|
77
|
-
});
|
package/test/vi/vi_year.test.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import * as chrono from "../../src/";
|
|
2
|
-
import { testSingleCase, testUnexpectedResult } from "../test_util";
|
|
3
|
-
|
|
4
|
-
const REF = new Date(2012, 7, 10, 12);
|
|
5
|
-
|
|
6
|
-
test("Test - n\u0103m YYYY", () => {
|
|
7
|
-
testSingleCase(chrono.vi, "Vi\u1ec7t Nam th\u1ed1ng nh\u1ea5t v\u00e0o n\u0103m 1976.", REF, (r) => {
|
|
8
|
-
expect(r.text).toBe("n\u0103m 1976");
|
|
9
|
-
expect(r.start.get("year")).toBe(1976);
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
testSingleCase(chrono.vi, "C\u00e1ch m\u1ea1ng n\u0103m 1789.", REF, (r) => {
|
|
13
|
-
expect(r.start.get("year")).toBe(1789);
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
test("Test - n\u0103m BC (TCN)", () => {
|
|
18
|
-
testSingleCase(chrono.vi, "N\u0103m 179 TCN, tri\u1ec1u \u0110i\u1ec7t b\u1ecb di\u1ec7t.", REF, (r) => {
|
|
19
|
-
expect(r.start.get("year")).toBe(-179);
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
testSingleCase(chrono.vi, "V\u0103n minh c\u00f3 t\u1eeb n\u0103m 3000 TCN.", REF, (r) => {
|
|
23
|
-
expect(r.start.get("year")).toBe(-3000);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
test("Test - 3-digit year", () => {
|
|
28
|
-
testSingleCase(chrono.vi, "n\u0103m 938 l\u00e0 n\u0103m \u0111\u1ed9c l\u1eadp.", REF, (r) => {
|
|
29
|
-
expect(r.start.get("year")).toBe(938);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
test("Test - year with month and day", () => {
|
|
34
|
-
testSingleCase(chrono.vi, "ng\u00e0y 2 th\u00e1ng 9 n\u0103m 1945", REF, (r) => {
|
|
35
|
-
expect(r.start.get("year")).toBe(1945);
|
|
36
|
-
expect(r.start.isCertain("year")).toBe(true);
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
test("Test - negative: bare 4-digit number not a year", () => {
|
|
41
|
-
testUnexpectedResult(chrono.vi, "C\u00f3 1975 ng\u01b0\u1eddi tham gia.", REF);
|
|
42
|
-
});
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import * as chrono from "../../../src";
|
|
2
|
-
import { testSingleCase } from "../../test_util";
|
|
3
|
-
|
|
4
|
-
test("Test - Simplified Chinese Ago Expression", function () {
|
|
5
|
-
testSingleCase(chrono.zh.hans, "1小时前", new Date(2012, 7, 10, 12, 14), (result) => {
|
|
6
|
-
expect(result.index).toBe(0);
|
|
7
|
-
expect(result.text).toBe("1小时前");
|
|
8
|
-
|
|
9
|
-
const resultDate = result.start.date();
|
|
10
|
-
const expectDate = new Date(2012, 7, 10, 11, 14);
|
|
11
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
testSingleCase(chrono.zh.hans, "1小时之前出门了", new Date(2012, 7, 10, 12, 14), (result) => {
|
|
15
|
-
expect(result.index).toBe(0);
|
|
16
|
-
expect(result.text).toBe("1小时之前");
|
|
17
|
-
|
|
18
|
-
const resultDate = result.start.date();
|
|
19
|
-
const expectDate = new Date(2012, 7, 10, 11, 14);
|
|
20
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
testSingleCase(chrono.zh.hans, "五分钟前", new Date(2012, 7, 10, 12, 14), (result) => {
|
|
24
|
-
expect(result.index).toBe(0);
|
|
25
|
-
expect(result.text).toBe("五分钟前");
|
|
26
|
-
|
|
27
|
-
const resultDate = result.start.date();
|
|
28
|
-
const expectDate = new Date(2012, 7, 10, 12, 9);
|
|
29
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
testSingleCase(chrono.zh.hans, "3天前", new Date(2012, 7, 10, 12, 14), (result) => {
|
|
33
|
-
expect(result.index).toBe(0);
|
|
34
|
-
expect(result.text).toBe("3天前");
|
|
35
|
-
|
|
36
|
-
const resultDate = result.start.date();
|
|
37
|
-
const expectDate = new Date(2012, 7, 7, 12);
|
|
38
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
testSingleCase(chrono.zh.hans, "2星期前", new Date(2012, 7, 10, 12, 14), (result) => {
|
|
42
|
-
expect(result.index).toBe(0);
|
|
43
|
-
expect(result.text).toBe("2星期前");
|
|
44
|
-
|
|
45
|
-
const resultDate = result.start.date();
|
|
46
|
-
const expectDate = new Date(2012, 6, 27, 12);
|
|
47
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
testSingleCase(chrono.zh.hans, "半小时前", new Date(2012, 7, 10, 12, 14), (result) => {
|
|
51
|
-
expect(result.index).toBe(0);
|
|
52
|
-
expect(result.text).toBe("半小时前");
|
|
53
|
-
|
|
54
|
-
const resultDate = result.start.date();
|
|
55
|
-
const expectDate = new Date(2012, 7, 10, 11, 44);
|
|
56
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
57
|
-
});
|
|
58
|
-
});
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
import * as chrono from "../../../src";
|
|
2
|
-
import { testSingleCase } from "../../test_util";
|
|
3
|
-
|
|
4
|
-
test("Test - Single Expression", function () {
|
|
5
|
-
testSingleCase(chrono.zh.hans, "我今天要打游戏", new Date(2012, 7, 10, 12), (result) => {
|
|
6
|
-
expect(result.index).toBe(1);
|
|
7
|
-
expect(result.text).toBe("今天");
|
|
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
|
-
|
|
14
|
-
const resultDate = result.start.date();
|
|
15
|
-
const expectDate = new Date(2012, 7, 10, 12);
|
|
16
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
testSingleCase(chrono.zh.hans, "我明日要打游戏", new Date(2012, 7, 10, 12), (result) => {
|
|
20
|
-
expect(result.index).toBe(1);
|
|
21
|
-
expect(result.text).toBe("明日");
|
|
22
|
-
|
|
23
|
-
expect(result.start).not.toBeNull();
|
|
24
|
-
expect(result.start.get("year")).toBe(2012);
|
|
25
|
-
expect(result.start.get("month")).toBe(8);
|
|
26
|
-
expect(result.start.get("day")).toBe(11);
|
|
27
|
-
|
|
28
|
-
const resultDate = result.start.date();
|
|
29
|
-
const expectDate = new Date(2012, 7, 11, 12);
|
|
30
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
testSingleCase(chrono.zh.hans, "我明天要打游戏", new Date(2012, 7, 10, 1), (result) => {
|
|
34
|
-
// Say.."Tomorrow" in the late night (1 AM)
|
|
35
|
-
const resultDate = result.start.date();
|
|
36
|
-
const expectDate = new Date(2012, 7, 10, 12);
|
|
37
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
testSingleCase(chrono.zh.hans, "我后天凌晨要打游戏", new Date(2012, 7, 10, 0, 0), (result) => {
|
|
41
|
-
const resultDate = result.start.date();
|
|
42
|
-
const expectDate = new Date(2012, 7, 12, 0, 0);
|
|
43
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
testSingleCase(chrono.zh.hans, "我大前天凌晨要打游戏", new Date(2012, 7, 10, 0, 0), (result) => {
|
|
47
|
-
const resultDate = result.start.date();
|
|
48
|
-
const expectDate = new Date(2012, 7, 7, 0, 0);
|
|
49
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
testSingleCase(chrono.zh.hans, "我前天要打游戏", new Date(2012, 7, 10, 12), (result) => {
|
|
53
|
-
expect(result.index).toBe(1);
|
|
54
|
-
expect(result.text).toBe("前天");
|
|
55
|
-
|
|
56
|
-
expect(result.start).not.toBeNull();
|
|
57
|
-
expect(result.start.get("year")).toBe(2012);
|
|
58
|
-
expect(result.start.get("month")).toBe(8);
|
|
59
|
-
expect(result.start.get("day")).toBe(8);
|
|
60
|
-
|
|
61
|
-
const resultDate = result.start.date();
|
|
62
|
-
const expectDate = new Date(2012, 7, 8, 12);
|
|
63
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
testSingleCase(chrono.zh.hans, "我昨日要打游戏", new Date(2012, 7, 10, 12), (result) => {
|
|
67
|
-
expect(result.index).toBe(1);
|
|
68
|
-
expect(result.text).toBe("昨日");
|
|
69
|
-
|
|
70
|
-
expect(result.start).not.toBeNull();
|
|
71
|
-
expect(result.start.get("year")).toBe(2012);
|
|
72
|
-
expect(result.start.get("month")).toBe(8);
|
|
73
|
-
expect(result.start.get("day")).toBe(9);
|
|
74
|
-
|
|
75
|
-
const resultDate = result.start.date();
|
|
76
|
-
const expectDate = new Date(2012, 7, 9, 12);
|
|
77
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
testSingleCase(chrono.zh.hans, "我昨天晚上要打游戏", new Date(2012, 7, 10, 12), (result) => {
|
|
81
|
-
expect(result.index).toBe(1);
|
|
82
|
-
expect(result.text).toBe("昨天晚上");
|
|
83
|
-
|
|
84
|
-
expect(result.start).not.toBeNull();
|
|
85
|
-
expect(result.start.get("year")).toBe(2012);
|
|
86
|
-
expect(result.start.get("month")).toBe(8);
|
|
87
|
-
expect(result.start.get("day")).toBe(9);
|
|
88
|
-
expect(result.start.get("hour")).toBe(22);
|
|
89
|
-
|
|
90
|
-
const resultDate = result.start.date();
|
|
91
|
-
const expectDate = new Date(2012, 7, 9, 22);
|
|
92
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
testSingleCase(chrono.zh.hans, "我今天早上要打游戏", new Date(2012, 7, 10, 12), (result) => {
|
|
96
|
-
expect(result.index).toBe(1);
|
|
97
|
-
expect(result.text).toBe("今天早上");
|
|
98
|
-
|
|
99
|
-
expect(result.start).not.toBeNull();
|
|
100
|
-
expect(result.start.get("year")).toBe(2012);
|
|
101
|
-
expect(result.start.get("month")).toBe(8);
|
|
102
|
-
expect(result.start.get("day")).toBe(10);
|
|
103
|
-
expect(result.start.get("hour")).toBe(6);
|
|
104
|
-
|
|
105
|
-
const resultDate = result.start.date();
|
|
106
|
-
const expectDate = new Date(2012, 7, 10, 6);
|
|
107
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
testSingleCase(chrono.zh.hans, "我下午要打游戏", new Date(2012, 7, 10, 12), (result) => {
|
|
111
|
-
expect(result.index).toBe(1);
|
|
112
|
-
expect(result.text).toBe("下午");
|
|
113
|
-
|
|
114
|
-
expect(result.start).not.toBeNull();
|
|
115
|
-
expect(result.start.get("year")).toBe(2012);
|
|
116
|
-
expect(result.start.get("month")).toBe(8);
|
|
117
|
-
expect(result.start.get("day")).toBe(10);
|
|
118
|
-
expect(result.start.get("hour")).toBe(15);
|
|
119
|
-
|
|
120
|
-
const resultDate = result.start.date();
|
|
121
|
-
const expectDate = new Date(2012, 7, 10, 15);
|
|
122
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
testSingleCase(chrono.zh.hans, "我今晚要打游戏", new Date(2012, 7, 10, 12), (result) => {
|
|
126
|
-
expect(result.index).toBe(1);
|
|
127
|
-
expect(result.text).toBe("今晚");
|
|
128
|
-
|
|
129
|
-
expect(result.start).not.toBeNull();
|
|
130
|
-
expect(result.start.get("year")).toBe(2012);
|
|
131
|
-
expect(result.start.get("month")).toBe(8);
|
|
132
|
-
expect(result.start.get("day")).toBe(10);
|
|
133
|
-
expect(result.start.get("hour")).toBe(22);
|
|
134
|
-
|
|
135
|
-
const resultDate = result.start.date();
|
|
136
|
-
const expectDate = new Date(2012, 7, 10, 22);
|
|
137
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
test("Test - Combined Expression", function () {
|
|
142
|
-
testSingleCase(chrono.zh.hans, "我今天下午5点要打游戏", new Date(2012, 7, 10, 12), (result) => {
|
|
143
|
-
expect(result.index).toBe(1);
|
|
144
|
-
expect(result.text).toBe("今天下午5点");
|
|
145
|
-
|
|
146
|
-
expect(result.start).not.toBeNull();
|
|
147
|
-
expect(result.start.get("year")).toBe(2012);
|
|
148
|
-
expect(result.start.get("month")).toBe(8);
|
|
149
|
-
expect(result.start.get("day")).toBe(10);
|
|
150
|
-
expect(result.start.get("hour")).toBe(17);
|
|
151
|
-
|
|
152
|
-
const resultDate = result.start.date();
|
|
153
|
-
const expectDate = new Date(2012, 7, 10, 17);
|
|
154
|
-
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
155
|
-
});
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
test("Test - Casual date range", function () {
|
|
159
|
-
testSingleCase(chrono.zh.hans, "我今天 - 下周五要打游戏", new Date(2012, 7, 4, 12), (result) => {
|
|
160
|
-
expect(result.index).toBe(1);
|
|
161
|
-
expect(result.text).toBe("今天 - 下周五");
|
|
162
|
-
|
|
163
|
-
expect(result.start).not.toBeNull();
|
|
164
|
-
expect(result.start.get("year")).toBe(2012);
|
|
165
|
-
expect(result.start.get("month")).toBe(8);
|
|
166
|
-
expect(result.start.get("day")).toBe(4);
|
|
167
|
-
expect(result.start.get("hour")).toBe(12);
|
|
168
|
-
|
|
169
|
-
const resultStartDate = result.start.date();
|
|
170
|
-
const expectStartDate = new Date(2012, 7, 4, 12);
|
|
171
|
-
expect(resultStartDate.getTime()).toBeCloseTo(expectStartDate.getTime());
|
|
172
|
-
|
|
173
|
-
expect(result.end).not.toBeNull();
|
|
174
|
-
expect(result.end.get("year")).toBe(2012);
|
|
175
|
-
expect(result.end.get("month")).toBe(8);
|
|
176
|
-
expect(result.end.get("day")).toBe(10);
|
|
177
|
-
expect(result.end.get("hour")).toBe(12);
|
|
178
|
-
|
|
179
|
-
const resultEndDate = result.end.date();
|
|
180
|
-
const expectEndDate = new Date(2012, 7, 10, 12);
|
|
181
|
-
expect(expectEndDate.getTime()).toBeCloseTo(resultEndDate.getTime());
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
testSingleCase(chrono.zh.hans, "我今日 - 下周五要打游戏", new Date(2012, 7, 10, 12), (result) => {
|
|
185
|
-
expect(result.index).toBe(1);
|
|
186
|
-
expect(result.text).toBe("今日 - 下周五");
|
|
187
|
-
|
|
188
|
-
expect(result.start).not.toBeNull();
|
|
189
|
-
expect(result.start.get("year")).toBe(2012);
|
|
190
|
-
expect(result.start.get("month")).toBe(8);
|
|
191
|
-
expect(result.start.get("day")).toBe(10);
|
|
192
|
-
expect(result.start.get("hour")).toBe(12);
|
|
193
|
-
|
|
194
|
-
const resultStartDate = result.start.date();
|
|
195
|
-
const expectStartDate = new Date(2012, 7, 10, 12);
|
|
196
|
-
expect(expectStartDate.getTime()).toBeCloseTo(resultStartDate.getTime());
|
|
197
|
-
|
|
198
|
-
expect(result.end).not.toBeNull();
|
|
199
|
-
expect(result.end.get("year")).toBe(2012);
|
|
200
|
-
expect(result.end.get("month")).toBe(8);
|
|
201
|
-
expect(result.end.get("day")).toBe(17);
|
|
202
|
-
expect(result.end.get("hour")).toBe(12);
|
|
203
|
-
|
|
204
|
-
const resultEndDate = result.end.date();
|
|
205
|
-
const expectEndDate = new Date(2012, 7, 17, 12);
|
|
206
|
-
expect(expectEndDate.getTime()).toBeCloseTo(resultEndDate.getTime());
|
|
207
|
-
});
|
|
208
|
-
});
|
|
209
|
-
|
|
210
|
-
test("Test - Random text", function () {
|
|
211
|
-
testSingleCase(chrono.zh.hans, "今日夜晚", new Date(2012, 1 - 1, 1, 12), (result) => {
|
|
212
|
-
expect(result.text).toBe("今日夜晚");
|
|
213
|
-
expect(result.start.get("year")).toBe(2012);
|
|
214
|
-
expect(result.start.get("month")).toBe(1);
|
|
215
|
-
expect(result.start.get("day")).toBe(1);
|
|
216
|
-
expect(result.start.get("hour")).toBe(22);
|
|
217
|
-
expect(result.start.get("meridiem")).toBe(1);
|
|
218
|
-
});
|
|
219
|
-
|
|
220
|
-
testSingleCase(chrono.zh.hans, "今晚8点正", new Date(2012, 1 - 1, 1, 12), (result) => {
|
|
221
|
-
expect(result.text).toBe("今晚8点正");
|
|
222
|
-
expect(result.start.get("hour")).toBe(20);
|
|
223
|
-
expect(result.start.get("year")).toBe(2012);
|
|
224
|
-
expect(result.start.get("month")).toBe(1);
|
|
225
|
-
expect(result.start.get("day")).toBe(1);
|
|
226
|
-
expect(result.start.get("meridiem")).toBe(1);
|
|
227
|
-
});
|
|
228
|
-
|
|
229
|
-
testSingleCase(chrono.zh.hans, "晚上8点", new Date(2012, 1 - 1, 1, 12), (result) => {
|
|
230
|
-
expect(result.text).toBe("晚上8点");
|
|
231
|
-
expect(result.start.get("hour")).toBe(20);
|
|
232
|
-
expect(result.start.get("year")).toBe(2012);
|
|
233
|
-
expect(result.start.get("month")).toBe(1);
|
|
234
|
-
expect(result.start.get("day")).toBe(1);
|
|
235
|
-
expect(result.start.get("meridiem")).toBe(1);
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
testSingleCase(chrono.zh.hans, "星期四", new Date(), (result) => {
|
|
239
|
-
expect(result.text).toBe("星期四");
|
|
240
|
-
expect(result.start.get("weekday")).toBe(4);
|
|
241
|
-
});
|
|
242
|
-
});
|