UNPKG

7.32 kBPlain TextView Raw
1import * as chrono from "../../src/";
2import { testSingleCase, testUnexpectedResult } from "../test_util";
3
4test("Test - Single Expression", () => {
5 testSingleCase(chrono.uk.casual, "Дедлайн сьогодні", new Date(2012, 7, 10, 17, 10), (result) => {
6 expect(result.index).toBe(8);
7 expect(result.text).toBe("сьогодні");
8 expect(result.start).toBeDate(new Date(2012, 7, 10, 17, 10));
9 });
10
11 testSingleCase(chrono.uk.casual, "Дедлайн завтра", new Date(2012, 7, 10, 17, 10), (result) => {
12 expect(result.index).toBe(8);
13 expect(result.text).toBe("завтра");
14 expect(result.start).toBeDate(new Date(2012, 7, 11, 17, 10));
15 });
16
17 testSingleCase(chrono.uk.casual, "Дедлайн післязавтра", new Date(2012, 7, 10, 17, 10), (result) => {
18 expect(result.index).toBe(8);
19 expect(result.text).toBe("післязавтра");
20 expect(result.start).toBeDate(new Date(2012, 7, 12, 17, 10));
21 });
22
23 testSingleCase(chrono.uk.casual, "Дедлайн післяпіслязавтра", new Date(2012, 7, 10, 17, 10), (result) => {
24 expect(result.index).toBe(8);
25 expect(result.text).toBe("післяпіслязавтра");
26 expect(result.start).toBeDate(new Date(2012, 7, 13, 17, 10));
27 });
28
29 testSingleCase(chrono.uk.casual, "Дедлайн вчора", new Date(2012, 7, 10, 17, 10), (result) => {
30 expect(result.index).toBe(8);
31 expect(result.text).toBe("вчора");
32 expect(result.start).toBeDate(new Date(2012, 7, 9, 17, 10));
33 });
34
35 testSingleCase(chrono.uk.casual, "Дедлайн позавчора", new Date(2012, 7, 10, 17, 10), (result) => {
36 expect(result.index).toBe(8);
37 expect(result.text).toBe("позавчора");
38 expect(result.start).toBeDate(new Date(2012, 7, 8, 17, 10));
39 });
40
41 testSingleCase(chrono.uk.casual, "Дедлайн позапозавчора", new Date(2012, 7, 10, 17, 10), (result) => {
42 expect(result.index).toBe(8);
43 expect(result.text).toBe("позапозавчора");
44 expect(result.start).toBeDate(new Date(2012, 7, 7, 17, 10));
45 });
46
47 testSingleCase(chrono.uk.casual, "Дедлайн зараз", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
48 expect(result.index).toBe(8);
49 expect(result.text).toBe("зараз");
50 expect(result.start).toBeDate(result.refDate);
51 expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 9, 10, 11));
52 });
53
54 testSingleCase(chrono.uk.casual, "Дедлайн вранці", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
55 expect(result.index).toBe(8);
56 expect(result.text).toBe("вранці");
57 expect(result.start).toBeDate(new Date(2012, 7, 10, 6, 0, 0, 0));
58 });
59
60 testSingleCase(chrono.uk.casual, "Дедлайн цього ранку", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
61 expect(result.index).toBe(8);
62 expect(result.text).toBe("цього ранку");
63 expect(result.start).toBeDate(new Date(2012, 7, 10, 6, 0, 0, 0));
64 });
65
66 testSingleCase(chrono.uk.casual, "Дедлайн опівдні", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
67 expect(result.index).toBe(8);
68 expect(result.text).toBe("опівдні");
69 expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 0, 0, 0));
70 });
71
72 testSingleCase(chrono.uk.casual, "Дедлайн минулого вечора", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
73 expect(result.index).toBe(8);
74 expect(result.text).toBe("минулого вечора");
75 expect(result.start).toBeDate(new Date(2012, 7, 9, 20, 0, 0, 0));
76 });
77
78 testSingleCase(chrono.uk.casual, "Дедлайн ввечері", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
79 expect(result.index).toBe(8);
80 expect(result.text).toBe("ввечері");
81 expect(result.start).toBeDate(new Date(2012, 7, 10, 20, 0, 0, 0));
82 });
83
84 testSingleCase(chrono.uk.casual, "Дедлайн минулої ночі", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
85 expect(result.index).toBe(8);
86 expect(result.text).toBe("минулої ночі");
87 expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
88 });
89
90 testSingleCase(chrono.uk.casual, "Дедлайн сьогодні вночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
91 expect(result.index).toBe(8);
92 expect(result.text).toBe("сьогодні вночі");
93 expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
94 });
95
96 testSingleCase(chrono.uk.casual, "Дедлайн цієї ночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
97 expect(result.index).toBe(8);
98 expect(result.text).toBe("цієї ночі");
99 expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
100 });
101
102 testSingleCase(chrono.uk.casual, "Дедлайн вночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
103 expect(result.index).toBe(8);
104 expect(result.text).toBe("вночі");
105 expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
106 });
107
108 testSingleCase(chrono.uk.casual, "Дедлайн опівночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
109 expect(result.index).toBe(8);
110 expect(result.text).toBe("опівночі");
111 expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
112 });
113});
114
115test("Test - Combined Expression", () => {
116 testSingleCase(chrono.uk.casual, "Дедлайн вчора ввечері", new Date(2012, 7, 10, 12), (result) => {
117 expect(result.index).toBe(8);
118 expect(result.text).toBe("вчора ввечері");
119 expect(result.start).toBeDate(new Date(2012, 7, 9, 20));
120 });
121
122 testSingleCase(chrono.uk.casual, "Дедлайн завтра вранці", new Date(2012, 8, 10, 14), (result) => {
123 expect(result.index).toBe(8);
124 expect(result.text).toBe("завтра вранці");
125 expect(result.start).toBeDate(new Date(2012, 8, 11, 6));
126 });
127});
128
129test("Test - Casual date range", () => {
130 testSingleCase(chrono.uk.casual, "Подія від сьогодні і до післязавтра", new Date(2012, 7, 4, 12), (result) => {
131 expect(result.index).toBe(6);
132 expect(result.text).toBe("від сьогодні і до післязавтра");
133 expect(result.start).toBeDate(new Date(2012, 7, 4, 12));
134 expect(result.end).toBeDate(new Date(2012, 7, 6, 12));
135 });
136
137 testSingleCase(chrono.uk.casual, "Подія сьогодні-завтра", new Date(2012, 7, 10, 12), (result) => {
138 expect(result.index).toBe(6);
139 expect(result.text).toBe("сьогодні-завтра");
140 expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
141 expect(result.end).toBeDate(new Date(2012, 7, 11, 12));
142 });
143});
144
145test("Test - Random negative text", () => {
146 testUnexpectedResult(chrono.uk, "несьогодні");
147
148 testUnexpectedResult(chrono.uk, "звтра");
149
150 testUnexpectedResult(chrono.uk, "ввчора");
151
152 testUnexpectedResult(chrono.uk, "січен");
153});