1 | import * as chrono from "../../src";
|
2 | import { testSingleCase } from "../test_util";
|
3 |
|
4 | test("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 |
|
94 | test("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 | });
|