1 | import * as chrono from "../../src/";
|
2 | import { testSingleCase, testUnexpectedResult } from "../test_util";
|
3 |
|
4 | test("Test - Single Expression", () => {
|
5 | testSingleCase(chrono.ru.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.ru.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.ru.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.ru.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.ru.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.ru.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.ru.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.ru.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.ru.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.ru.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.ru.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.ru.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.ru.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.ru.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.ru.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, 9, 0, 0, 0, 0));
|
94 | });
|
95 |
|
96 | testSingleCase(chrono.ru.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.ru.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.ru.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 | testSingleCase(chrono.ru.casual, "Дедлайн в полночь", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
|
115 | expect(result.index).toBe(8);
|
116 | expect(result.text).toBe("в полночь");
|
117 | expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
|
118 | });
|
119 | });
|
120 |
|
121 | test("Test - Combined Expression", () => {
|
122 | testSingleCase(chrono.ru.casual, "Дедлайн вчера вечером", new Date(2012, 7, 10, 12), (result) => {
|
123 | expect(result.index).toBe(8);
|
124 | expect(result.text).toBe("вчера вечером");
|
125 | expect(result.start).toBeDate(new Date(2012, 7, 9, 20));
|
126 | });
|
127 |
|
128 | testSingleCase(chrono.ru.casual, "Дедлайн завтра утром", new Date(2012, 8, 10, 14), (result) => {
|
129 | expect(result.index).toBe(8);
|
130 | expect(result.text).toBe("завтра утром");
|
131 | expect(result.start).toBeDate(new Date(2012, 8, 11, 6));
|
132 | });
|
133 | });
|
134 |
|
135 | test("Test - Casual date range", () => {
|
136 | testSingleCase(chrono.ru.casual, "Событие с сегодня и до послезавтра", new Date(2012, 7, 4, 12), (result) => {
|
137 | expect(result.index).toBe(8);
|
138 | expect(result.text).toBe("с сегодня и до послезавтра");
|
139 | expect(result.start).toBeDate(new Date(2012, 7, 4, 12));
|
140 | expect(result.end).toBeDate(new Date(2012, 7, 6, 12));
|
141 | });
|
142 |
|
143 | testSingleCase(chrono.ru.casual, "Событие сегодня-завтра", new Date(2012, 7, 10, 12), (result) => {
|
144 | expect(result.index).toBe(8);
|
145 | expect(result.text).toBe("сегодня-завтра");
|
146 | expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
|
147 | expect(result.end).toBeDate(new Date(2012, 7, 11, 12));
|
148 | });
|
149 | });
|
150 |
|
151 | test("Test - Random negative text", () => {
|
152 | testUnexpectedResult(chrono.ru, "несегодня");
|
153 |
|
154 | testUnexpectedResult(chrono.ru, "зявтра");
|
155 |
|
156 | testUnexpectedResult(chrono.ru, "вчеера");
|
157 |
|
158 | testUnexpectedResult(chrono.ru, "январ");
|
159 | });
|