UNPKG

5.24 kBPlain TextView Raw
1import * as chrono from "../../src";
2import { testSingleCase } from "../test_util";
3
4test("Test - Single Expression", function () {
5 testSingleCase(chrono.fr, "Lundi", new Date(2012, 7, 9), (result) => {
6 expect(result.index).toBe(0);
7 expect(result.text).toBe("Lundi");
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(6);
13 expect(result.start.get("weekday")).toBe(1);
14
15 expect(result.start.isCertain("day")).toBe(false);
16 expect(result.start.isCertain("month")).toBe(false);
17 expect(result.start.isCertain("year")).toBe(false);
18 expect(result.start.isCertain("weekday")).toBe(true);
19
20 expect(result.start).toBeDate(new Date(2012, 7, 6, 12));
21 });
22
23 testSingleCase(chrono.fr, "Lundi (forward dates only)", new Date(2012, 7, 9), { forwardDate: true }, (result) => {
24 expect(result.index).toBe(0);
25 expect(result.text).toBe("Lundi");
26
27 expect(result.start).not.toBeNull();
28 expect(result.start.get("year")).toBe(2012);
29 expect(result.start.get("month")).toBe(8);
30 expect(result.start.get("day")).toBe(13);
31 expect(result.start.get("weekday")).toBe(1);
32
33 expect(result.start.isCertain("day")).toBe(false);
34 expect(result.start.isCertain("month")).toBe(false);
35 expect(result.start.isCertain("year")).toBe(false);
36 expect(result.start.isCertain("weekday")).toBe(true);
37
38 expect(result.start).toBeDate(new Date(2012, 7, 13, 12));
39 });
40
41 testSingleCase(chrono.fr, "Jeudi", new Date(2012, 7, 9), (result) => {
42 expect(result.index).toBe(0);
43 expect(result.text).toBe("Jeudi");
44
45 expect(result.start).not.toBeNull();
46 expect(result.start.get("year")).toBe(2012);
47 expect(result.start.get("month")).toBe(8);
48 expect(result.start.get("day")).toBe(9);
49 expect(result.start.get("weekday")).toBe(4);
50
51 expect(result.start).toBeDate(new Date(2012, 7, 9, 12));
52 });
53
54 testSingleCase(chrono.fr, "Dimanche", new Date(2012, 7, 9), (result) => {
55 expect(result.index).toBe(0);
56 expect(result.text).toBe("Dimanche");
57
58 expect(result.start).not.toBeNull();
59 expect(result.start.get("year")).toBe(2012);
60 expect(result.start.get("month")).toBe(8);
61 expect(result.start.get("day")).toBe(12);
62 expect(result.start.get("weekday")).toBe(0);
63
64 expect(result.start).toBeDate(new Date(2012, 7, 12, 12));
65 });
66
67 testSingleCase(chrono.fr, "la deadline était vendredi dernier...", new Date(2012, 7, 9), (result) => {
68 expect(result.index).toBe(18);
69 expect(result.text).toBe("vendredi dernier");
70
71 expect(result.start).not.toBeNull();
72 expect(result.start.get("year")).toBe(2012);
73 expect(result.start.get("month")).toBe(8);
74 expect(result.start.get("day")).toBe(3);
75 expect(result.start.get("weekday")).toBe(5);
76
77 expect(result.start).toBeDate(new Date(2012, 7, 3, 12));
78 });
79
80 testSingleCase(chrono.fr, "Planifions une réuinion vendredi prochain", new Date(2015, 3, 18), (result) => {
81 expect(result.index).toBe(24);
82 expect(result.text).toBe("vendredi prochain");
83
84 expect(result.start).not.toBeNull();
85 expect(result.start.get("year")).toBe(2015);
86 expect(result.start.get("month")).toBe(4);
87 expect(result.start.get("day")).toBe(24);
88 expect(result.start.get("weekday")).toBe(5);
89
90 expect(result.start).toBeDate(new Date(2015, 3, 24, 12));
91 });
92});
93
94test("Test - Weekday Overlap", function () {
95 testSingleCase(chrono.fr, "Dimanche 7 décembre 2014", new Date(2012, 7, 9), (result) => {
96 expect(result.index).toBe(0);
97 expect(result.text).toBe("Dimanche 7 décembre 2014");
98
99 expect(result.start).not.toBeNull();
100 expect(result.start.get("year")).toBe(2014);
101 expect(result.start.get("month")).toBe(12);
102 expect(result.start.get("day")).toBe(7);
103 expect(result.start.get("weekday")).toBe(0);
104
105 expect(result.start.isCertain("day")).toBe(true);
106 expect(result.start.isCertain("month")).toBe(true);
107 expect(result.start.isCertain("year")).toBe(true);
108 expect(result.start.isCertain("weekday")).toBe(true);
109
110 expect(result.start).toBeDate(new Date(2014, 12 - 1, 7, 12));
111 });
112
113 testSingleCase(chrono.fr, "Dimanche 7/12/2014", new Date(2012, 7, 9), (result) => {
114 expect(result.index).toBe(0);
115 expect(result.text).toBe("Dimanche 7/12/2014");
116
117 expect(result.start).not.toBeNull();
118 expect(result.start.get("year")).toBe(2014);
119 expect(result.start.get("month")).toBe(12);
120 expect(result.start.get("day")).toBe(7);
121 expect(result.start.get("weekday")).toBe(0);
122
123 expect(result.start.isCertain("day")).toBe(true);
124 expect(result.start.isCertain("month")).toBe(true);
125 expect(result.start.isCertain("year")).toBe(true);
126 expect(result.start.isCertain("weekday")).toBe(true);
127
128 expect(result.start).toBeDate(new Date(2014, 12 - 1, 7, 12));
129 });
130});