UNPKG

6.24 kBPlain TextView Raw
1import * as chrono from "../../src";
2import { testSingleCase } from "../test_util";
3
4test("Test - Positive time units", () => {
5 testSingleCase(chrono.uk, "наступні 2 тижні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
6 expect(result.index).toBe(0);
7 expect(result.text).toBe(text);
8 expect(result.start.get("year")).toBe(2016);
9 expect(result.start.get("month")).toBe(10);
10 expect(result.start.get("day")).toBe(15);
11 expect(result.start.get("hour")).toBe(12);
12 });
13
14 testSingleCase(chrono.uk, "наступні 2 дні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
15 expect(result.index).toBe(0);
16 expect(result.text).toBe(text);
17 expect(result.start.get("year")).toBe(2016);
18 expect(result.start.get("month")).toBe(10);
19 expect(result.start.get("day")).toBe(3);
20 expect(result.start.get("hour")).toBe(12);
21 });
22
23 testSingleCase(chrono.uk, "наступні два роки", new Date(2016, 10 - 1, 1, 12), (result, text) => {
24 expect(result.index).toBe(0);
25 expect(result.text).toBe(text);
26 expect(result.start.get("year")).toBe(2018);
27 expect(result.start.get("month")).toBe(10);
28 expect(result.start.get("day")).toBe(1);
29 expect(result.start.get("hour")).toBe(12);
30 });
31
32 testSingleCase(chrono.uk, "наступні 2 тижні 3 дні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
33 expect(result.index).toBe(0);
34 expect(result.text).toBe(text);
35 expect(result.start.get("year")).toBe(2016);
36 expect(result.start.get("month")).toBe(10);
37 expect(result.start.get("day")).toBe(18);
38 expect(result.start.get("hour")).toBe(12);
39 });
40
41 testSingleCase(chrono.uk, "через декілька хвилин", new Date(2016, 10 - 1, 1, 12), (result, text) => {
42 expect(result.index).toBe(0);
43 expect(result.text).toBe(text);
44 expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 12, 2));
45 });
46
47 testSingleCase(chrono.uk, "через півгодини", new Date(2016, 10 - 1, 1, 12), (result, text) => {
48 expect(result.index).toBe(0);
49 expect(result.text).toBe(text);
50 expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 12, 30));
51 });
52
53 testSingleCase(chrono.uk, "через 2 години", new Date(2016, 10 - 1, 1, 12), (result, text) => {
54 expect(result.index).toBe(0);
55 expect(result.text).toBe(text);
56 expect(result.start.get("year")).toBe(2016);
57 expect(result.start.get("month")).toBe(10);
58 expect(result.start.get("day")).toBe(1);
59 expect(result.start.get("hour")).toBe(14);
60 });
61
62 testSingleCase(chrono.uk, "через три місяці", new Date(2016, 10 - 1, 1, 12), (result, text) => {
63 expect(result.index).toBe(0);
64 expect(result.text).toBe(text);
65 expect(result.start.get("year")).toBe(2017);
66 expect(result.start.get("month")).toBe(1);
67 expect(result.start.get("day")).toBe(1);
68 expect(result.start.get("hour")).toBe(12);
69 });
70
71 testSingleCase(chrono.uk, "через тиждень", new Date(2016, 10 - 1, 1, 12), (result, text) => {
72 expect(result.index).toBe(0);
73 expect(result.text).toBe(text);
74 expect(result.start.get("year")).toBe(2016);
75 expect(result.start.get("month")).toBe(10);
76 expect(result.start.get("day")).toBe(8);
77 expect(result.start.get("hour")).toBe(12);
78 });
79
80 testSingleCase(chrono.uk, "через місяць", new Date(2016, 10 - 1, 1, 12), (result, text) => {
81 expect(result.index).toBe(0);
82 expect(result.text).toBe(text);
83 expect(result.start.get("year")).toBe(2016);
84 expect(result.start.get("month")).toBe(11);
85 expect(result.start.get("day")).toBe(1);
86 expect(result.start.get("hour")).toBe(12);
87 });
88
89 testSingleCase(chrono.uk, "через рік", new Date(2020, 11 - 1, 22, 12, 11, 32, 6), (result, text) => {
90 expect(result.index).toBe(0);
91 expect(result.text).toBe(text);
92 expect(result.start).toBeDate(new Date(2021, 11 - 1, 22, 12, 11, 32, 6));
93 });
94});
95
96test("Test - Negative time units", () => {
97 testSingleCase(chrono.uk, "минулі 2 тижні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
98 expect(result.index).toBe(0);
99 expect(result.text).toBe(text);
100 expect(result.start.get("year")).toBe(2016);
101 expect(result.start.get("month")).toBe(9);
102 expect(result.start.get("day")).toBe(17);
103 expect(result.start.get("hour")).toBe(12);
104 });
105
106 testSingleCase(chrono.uk, "минулі два дні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
107 expect(result.index).toBe(0);
108 expect(result.text).toBe(text);
109 expect(result.start.get("year")).toBe(2016);
110 expect(result.start.get("month")).toBe(9);
111 expect(result.start.get("day")).toBe(29);
112 expect(result.start.get("hour")).toBe(12);
113 });
114});
115
116test("Test - Plus '+' sign", () => {
117 testSingleCase(chrono.uk.casual, "+15 хвилин", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => {
118 expect(result.index).toBe(0);
119 expect(result.text).toBe(text);
120 expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 29));
121 });
122
123 testSingleCase(chrono.uk.casual, "+15хв", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => {
124 expect(result.index).toBe(0);
125 expect(result.text).toBe(text);
126 expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 29));
127 });
128
129 testSingleCase(chrono.uk.casual, "+1 день 2 години", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => {
130 expect(result.index).toBe(0);
131 expect(result.text).toBe(text);
132 expect(result.start).toBeDate(new Date(2012, 7 - 1, 11, 14, 14));
133 });
134});
135
136test("Test - Minus '-' sign", () => {
137 testSingleCase(chrono.uk.casual, "-3 роки", new Date(2015, 7 - 1, 10, 12, 14), (result, text) => {
138 expect(result.index).toBe(0);
139 expect(result.text).toBe(text);
140 expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 14));
141 });
142});