UNPKG

7.42 kBPlain TextView Raw
1import * as chrono from "../../src";
2import { testSingleCase } from "../test_util";
3
4test("Test - Month-Year expression", function () {
5 testSingleCase(chrono.nl, "september 2012", (result) => {
6 expect(result.text).toBe("september 2012");
7
8 expect(result.start.get("year")).toBe(2012);
9 expect(result.start.get("month")).toBe(9);
10 expect(result.start.get("day")).toBe(1);
11
12 expect(result.start.isCertain("year")).toBe(true);
13 expect(result.start.isCertain("month")).toBe(true);
14 expect(result.start.isCertain("day")).toBe(false);
15
16 expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
17 });
18
19 testSingleCase(chrono.nl, "sept 2012", (result) => {
20 expect(result.text).toBe("sept 2012");
21
22 expect(result.start.get("year")).toBe(2012);
23 expect(result.start.get("month")).toBe(9);
24 expect(result.start.get("day")).toBe(1);
25
26 expect(result.start.isCertain("year")).toBe(true);
27 expect(result.start.isCertain("month")).toBe(true);
28 expect(result.start.isCertain("day")).toBe(false);
29
30 expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
31 });
32
33 testSingleCase(chrono.nl, "sep 2012", (result) => {
34 expect(result.text).toBe("sep 2012");
35
36 expect(result.start.get("year")).toBe(2012);
37 expect(result.start.get("month")).toBe(9);
38 expect(result.start.get("day")).toBe(1);
39
40 expect(result.start.isCertain("year")).toBe(true);
41 expect(result.start.isCertain("month")).toBe(true);
42 expect(result.start.isCertain("day")).toBe(false);
43
44 expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
45 });
46
47 testSingleCase(chrono.nl, "sep. 2012", (result) => {
48 expect(result.text).toBe("sep. 2012");
49
50 expect(result.start.get("year")).toBe(2012);
51 expect(result.start.get("month")).toBe(9);
52 expect(result.start.get("day")).toBe(1);
53
54 expect(result.start.isCertain("year")).toBe(true);
55 expect(result.start.isCertain("month")).toBe(true);
56 expect(result.start.isCertain("day")).toBe(false);
57
58 expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
59 });
60
61 testSingleCase(chrono.nl, "sep-2012", (result) => {
62 expect(result.start).not.toBeNull();
63 expect(result.start.get("year")).toBe(2012);
64 expect(result.start.get("month")).toBe(9);
65
66 expect(result.index).toBe(0);
67 expect(result.text).toBe("sep-2012");
68
69 expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
70 });
71
72 testSingleCase(chrono.nl, "mrt 2012", (result) => {
73 expect(result.text).toBe("mrt 2012");
74
75 expect(result.start.get("year")).toBe(2012);
76 expect(result.start.get("month")).toBe(3);
77 expect(result.start.get("day")).toBe(1);
78
79 expect(result.start.isCertain("year")).toBe(true);
80 expect(result.start.isCertain("month")).toBe(true);
81 expect(result.start.isCertain("day")).toBe(false);
82
83 expect(result.start).toBeDate(new Date(2012, 3 - 1, 1, 12));
84 });
85});
86
87test("Test - Month-Only expression", function () {
88 testSingleCase(chrono.nl, "In januari", new Date(2020, 11 - 1, 22), (result) => {
89 expect(result.text).toContain("januari");
90
91 expect(result.start).not.toBeNull();
92 expect(result.start.get("year")).toBe(2021);
93 expect(result.start.get("month")).toBe(1);
94 expect(result.start.get("day")).toBe(1);
95
96 expect(result.start.isCertain("year")).toBe(false);
97 expect(result.start.isCertain("month")).toBe(true);
98 expect(result.start.isCertain("day")).toBe(false);
99
100 expect(result.start).toBeDate(new Date(2021, 1 - 1, 1, 12));
101 });
102
103 testSingleCase(chrono.nl, "in jan", new Date(2020, 11 - 1, 22), (result) => {
104 expect(result.text).toContain("jan");
105
106 expect(result.start).not.toBeNull();
107 expect(result.start.get("year")).toBe(2021);
108 expect(result.start.get("month")).toBe(1);
109 expect(result.start.get("day")).toBe(1);
110
111 expect(result.start.isCertain("year")).toBe(false);
112 expect(result.start.isCertain("month")).toBe(true);
113 expect(result.start.isCertain("day")).toBe(false);
114
115 expect(result.start).toBeDate(new Date(2021, 1 - 1, 1, 12));
116 });
117
118 testSingleCase(chrono.nl, "mei", new Date(2020, 11 - 1, 22), (result) => {
119 expect(result.text).toContain("mei");
120
121 expect(result.start).not.toBeNull();
122 expect(result.start.get("year")).toBe(2021);
123 expect(result.start.get("month")).toBe(5);
124 expect(result.start.get("day")).toBe(1);
125
126 expect(result.start.isCertain("year")).toBe(false);
127 expect(result.start.isCertain("month")).toBe(true);
128 expect(result.start.isCertain("day")).toBe(false);
129
130 expect(result.start).toBeDate(new Date(2021, 5 - 1, 1, 12));
131 });
132});
133
134test("Test - Month expression in context", function () {
135 testSingleCase(chrono.nl, "The date is sep 2012 is the date", (result) => {
136 expect(result.index).toBe(12);
137 expect(result.text).toBe("sep 2012");
138
139 expect(result.start).not.toBeNull();
140 expect(result.start.get("year")).toBe(2012);
141 expect(result.start.get("month")).toBe(9);
142
143 expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
144 });
145
146 testSingleCase(chrono.nl, "By Angie ja november 2019", (result) => {
147 expect(result.text).toBe("november 2019");
148
149 expect(result.start).not.toBeNull();
150 expect(result.start.get("year")).toBe(2019);
151 expect(result.start.get("month")).toBe(11);
152
153 expect(result.start).toBeDate(new Date(2019, 11 - 1, 1, 12));
154 });
155
156 testSingleCase(chrono.nl, "Op 23 MRT. 2022", (result) => {
157 expect(result.text).toBe("23 MRT. 2022");
158
159 expect(result.start).not.toBeNull();
160 expect(result.start.get("year")).toBe(2022);
161 expect(result.start.get("month")).toBe(3);
162 expect(result.start.get("day")).toBe(23);
163
164 expect(result.start).toBeDate(new Date(2022, 3 - 1, 23, 12));
165 });
166});
167
168test("Test - Month slash expression", function () {
169 testSingleCase(chrono.nl, "9/2012", new Date(2012, 7, 10), (result) => {
170 expect(result.start).not.toBeNull();
171 expect(result.start.get("year")).toBe(2012);
172 expect(result.start.get("month")).toBe(9);
173
174 expect(result.index).toBe(0);
175 expect(result.text).toBe("9/2012");
176
177 expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
178 });
179
180 testSingleCase(chrono.nl, "09/2012", new Date(2012, 7, 10), (result) => {
181 expect(result.start.get("year")).toBe(2012);
182 expect(result.start.get("month")).toBe(9);
183
184 expect(result.index).toBe(0);
185 expect(result.text).toBe("09/2012");
186
187 expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
188 });
189});
190
191test("Test - year 90's parsing", () => {
192 testSingleCase(chrono.nl, "aug 96", new Date(2012, 7, 10), (result) => {
193 expect(result.text).toBe("aug 96");
194
195 expect(result.start.get("year")).toBe(1996);
196 expect(result.start.get("month")).toBe(8);
197 });
198
199 testSingleCase(chrono.nl, "96 aug 96", new Date(2012, 7, 10), (result) => {
200 expect(result.text).toBe("aug 96");
201
202 expect(result.start.get("year")).toBe(1996);
203 expect(result.start.get("month")).toBe(8);
204 });
205});