UNPKG

3.57 kBPlain TextView Raw
1import * as chrono from "../src/";
2import { testSingleCase } from "./test_util";
3
4test("Test - Timezone difference on reference example", function () {
5 testSingleCase(
6 chrono,
7 "Friday at 4pm",
8 {
9 instant: new Date("Wed Jun 09 2021 07:00:00 GMT-0500 (CDT)"),
10 timezone: "CDT",
11 },
12 (result) => {
13 expect(result).toBeDate(new Date("Fri Jun 11 2021 16:00:00 GMT-0500 (CDT)"));
14 expect(result).toBeDate(new Date("Fri Jun 12 2021 06:00:00 GMT+0900 (JST)"));
15 }
16 );
17});
18
19test("Test - Timezone difference on reference date", function () {
20 // Sun Jun 06 2021 19:00:00 GMT+0900 (JST)
21 // Sun Jun 06 2021 11:00:00 GMT+0100 (BST)
22 const refInstant = new Date("Sun Jun 06 2021 19:00:00 GMT+0900 (JST)");
23
24 testSingleCase(chrono, "At 4pm tomorrow", { instant: refInstant, timezone: "BST" }, (result) => {
25 const expectedInstant = new Date("Mon Jun 07 2021 16:00:00 GMT+0100 (BST)");
26 expect(result).toBeDate(expectedInstant);
27 });
28
29 testSingleCase(chrono, "At 4pm tomorrow", { instant: refInstant, timezone: "JST" }, (result) => {
30 const expectedInstant = new Date("Mon Jun 07 2021 16:00:00 GMT+0900 (JST)");
31 expect(result).toBeDate(expectedInstant);
32 });
33});
34
35test("Test - Timezone difference on written date", function () {
36 // Sun Jun 06 2021 19:00:00 GMT+0900 (JST)
37 // Sun Jun 06 2021 11:00:00 GMT+0100 (BST)
38 const refInstant = new Date("Sun Jun 06 2021 19:00:00 GMT+0900 (JST)");
39
40 testSingleCase(chrono, "Sun Jun 06 2021 19:00:00", { timezone: "JST" }, (result) => {
41 expect(result).toBeDate(refInstant);
42 });
43
44 testSingleCase(chrono, "Sun Jun 06 2021 11:00:00", { timezone: "BST" }, (result) => {
45 expect(result).toBeDate(refInstant);
46 });
47
48 testSingleCase(chrono, "Sun Jun 06 2021 11:00:00", { timezone: 60 }, (result) => {
49 expect(result).toBeDate(refInstant);
50 });
51});
52
53test("Test - Precise [now] mentioned", function () {
54 const refDate = new Date("Sat Mar 13 2021 14:22:14 GMT+0900 (Japan Standard Time)");
55
56 testSingleCase(chrono, "now", refDate, (result) => {
57 expect(result).toBeDate(refDate);
58 });
59
60 testSingleCase(chrono, "now", { instant: refDate }, (result) => {
61 expect(result).toBeDate(refDate);
62 });
63
64 testSingleCase(chrono, "now", { instant: refDate, timezone: 540 }, (result) => {
65 expect(result).toBeDate(refDate);
66 });
67
68 testSingleCase(chrono, "now", { instant: refDate, timezone: "JST" }, (result) => {
69 expect(result).toBeDate(refDate);
70 });
71
72 testSingleCase(chrono, "now", { instant: refDate, timezone: -300 }, (result) => {
73 expect(result).toBeDate(refDate);
74 });
75});
76
77test("Test - Precise date/time mentioned", function () {
78 const text = "Sat Mar 13 2021 14:22:14 GMT+0900";
79 const refDate = new Date();
80
81 testSingleCase(chrono, text, refDate, (result, text) => {
82 expect(result).toBeDate(new Date(text));
83 });
84
85 testSingleCase(chrono, text, { instant: refDate }, (result) => {
86 expect(result).toBeDate(new Date(text));
87 });
88
89 testSingleCase(chrono, text, { instant: refDate, timezone: 540 }, (result) => {
90 expect(result).toBeDate(new Date(text));
91 });
92
93 testSingleCase(chrono, text, { instant: refDate, timezone: "JST" }, (result) => {
94 expect(result).toBeDate(new Date(text));
95 });
96
97 testSingleCase(chrono, text, { instant: refDate, timezone: -300 }, (result) => {
98 expect(result).toBeDate(new Date(text));
99 });
100});