1 | import * as chrono from "../../src/";
|
2 | import { testSingleCase } from "../test_util";
|
3 |
|
4 | test("Test - Single Expression", function () {
|
5 | testSingleCase(chrono.pt, "Ficaremos às 6.13 AM", new Date(2012, 7, 10), (result) => {
|
6 | expect(result.index).toBe(10);
|
7 | expect(result.text).toBe("às 6.13 AM");
|
8 |
|
9 | expect(result.start).not.toBeNull();
|
10 | expect(result.start.get("hour")).toBe(6);
|
11 | expect(result.start.get("minute")).toBe(13);
|
12 |
|
13 | expect(result.start).toBeDate(new Date(2012, 7, 10, 6, 13));
|
14 | });
|
15 | });
|
16 |
|
17 | test("Test - Range Expression", function () {
|
18 | testSingleCase(chrono.pt, "8:10 - 12.32", new Date(2012, 7, 10), (result) => {
|
19 | expect(result.index).toBe(0);
|
20 | expect(result.text).toBe("8:10 - 12.32");
|
21 |
|
22 | expect(result.start).not.toBeNull();
|
23 | expect(result.start.get("hour")).toBe(8);
|
24 | expect(result.start.get("minute")).toBe(10);
|
25 |
|
26 | expect(result.start.isCertain("day")).toBe(false);
|
27 | expect(result.start.isCertain("month")).toBe(false);
|
28 | expect(result.start.isCertain("year")).toBe(false);
|
29 | expect(result.start.isCertain("hour")).toBe(true);
|
30 | expect(result.start.isCertain("minute")).toBe(true);
|
31 | expect(result.start.isCertain("second")).toBe(false);
|
32 | expect(result.start.isCertain("millisecond")).toBe(false);
|
33 |
|
34 | expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 10));
|
35 |
|
36 | expect(result.end).not.toBeNull();
|
37 | expect(result.end.get("hour")).toBe(12);
|
38 | expect(result.end.get("minute")).toBe(32);
|
39 |
|
40 | expect(result.end.isCertain("day")).toBe(false);
|
41 | expect(result.end.isCertain("month")).toBe(false);
|
42 | expect(result.end.isCertain("year")).toBe(false);
|
43 | expect(result.end.isCertain("hour")).toBe(true);
|
44 | expect(result.end.isCertain("minute")).toBe(true);
|
45 | expect(result.end.isCertain("second")).toBe(false);
|
46 | expect(result.end.isCertain("millisecond")).toBe(false);
|
47 |
|
48 | expect(result.end).toBeDate(new Date(2012, 7, 10, 12, 32));
|
49 | });
|
50 |
|
51 | testSingleCase(chrono.pt, " de 6:30pm a 11:00pm ", new Date(2012, 7, 10), (result) => {
|
52 | expect(result.index).toBe(1);
|
53 | expect(result.text).toBe("de 6:30pm a 11:00pm");
|
54 |
|
55 | expect(result.start).not.toBeNull();
|
56 | expect(result.start.get("hour")).toBe(18);
|
57 | expect(result.start.get("minute")).toBe(30);
|
58 | expect(result.start.get("meridiem")).toBe(1);
|
59 |
|
60 | expect(result.start).toBeDate(new Date(2012, 7, 10, 18, 30));
|
61 |
|
62 | expect(result.end).not.toBeNull();
|
63 | expect(result.end.get("hour")).toBe(23);
|
64 | expect(result.end.get("minute")).toBe(0);
|
65 | expect(result.end.get("meridiem")).toBe(1);
|
66 |
|
67 | expect(result.end).toBeDate(new Date(2012, 7, 10, 23, 0));
|
68 | });
|
69 | });
|
70 |
|
71 | test("Test - Date + Time Expression", function () {
|
72 | testSingleCase(chrono.pt, "Algo passou em 10 de Agosto de 2012 10:12:59 pm", new Date(2012, 7, 10), (result) => {
|
73 | expect(result.index).toBe(15);
|
74 | expect(result.text).toBe("10 de Agosto de 2012 10:12:59 pm");
|
75 |
|
76 | expect(result.start.get("year")).toBe(2012);
|
77 | expect(result.start.get("month")).toBe(8);
|
78 | expect(result.start.get("day")).toBe(10);
|
79 | expect(result.start.get("hour")).toBe(22);
|
80 | expect(result.start.get("minute")).toBe(12);
|
81 | expect(result.start.get("second")).toBe(59);
|
82 | expect(result.start.get("millisecond")).toBe(0);
|
83 | expect(result.start.isCertain("millisecond")).toBe(false);
|
84 |
|
85 | expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 22, 12, 59));
|
86 | });
|
87 | });
|
88 |
|
89 | test("Test - Time Expression's Meridiem imply", function () {
|
90 | testSingleCase(chrono.pt, "de 1pm a 3", new Date(2012, 7, 10), (result) => {
|
91 | expect(result.index).toBe(0);
|
92 | expect(result.text).toBe("de 1pm a 3");
|
93 |
|
94 | expect(result.start.get("year")).toBe(2012);
|
95 | expect(result.start.get("month")).toBe(8);
|
96 | expect(result.start.get("day")).toBe(10);
|
97 | expect(result.start.get("hour")).toBe(13);
|
98 | expect(result.start.get("minute")).toBe(0);
|
99 | expect(result.start.get("second")).toBe(0);
|
100 | expect(result.start.get("millisecond")).toBe(0);
|
101 | expect(result.start.get("meridiem")).toBe(1);
|
102 | expect(result.start.isCertain("meridiem")).toBe(true);
|
103 |
|
104 | expect(result.end.get("year")).toBe(2012);
|
105 | expect(result.end.get("month")).toBe(8);
|
106 | expect(result.end.get("day")).toBe(10);
|
107 | expect(result.end.get("hour")).toBe(15);
|
108 | expect(result.end.get("minute")).toBe(0);
|
109 | expect(result.end.get("second")).toBe(0);
|
110 | expect(result.end.get("millisecond")).toBe(0);
|
111 | expect(result.end.isCertain("meridiem")).toBe(true);
|
112 | });
|
113 | });
|
114 |
|
115 | test("Test - Random date + time expression", function () {
|
116 | testSingleCase(chrono.pt, "segunda 4/29/2013 630-930am", (result, text) => {
|
117 | expect(result.text).toBe(text);
|
118 | });
|
119 |
|
120 | testSingleCase(chrono.pt, "terça 5/1/2013 1115am", (result, text) => {
|
121 | expect(result.text).toBe(text);
|
122 | });
|
123 |
|
124 | testSingleCase(chrono.pt, "quarta 5/3/2013 1230pm", (result, text) => {
|
125 | expect(result.text).toBe(text);
|
126 | });
|
127 |
|
128 | testSingleCase(chrono.pt, "domingo 5/6/2013 750am-910am", (result, text) => {
|
129 | expect(result.text).toBe(text);
|
130 | });
|
131 |
|
132 | testSingleCase(chrono.pt, "segunda-feira 5/13/2013 630-930am", (result, text) => {
|
133 | expect(result.text).toBe(text);
|
134 | });
|
135 |
|
136 | testSingleCase(chrono.pt, "quarta-feira 5/15/2013 1030am", (result, text) => {
|
137 | expect(result.text).toBe(text);
|
138 | });
|
139 |
|
140 | testSingleCase(chrono.pt, "quinta 6/21/2013 2:30", (result, text) => {
|
141 | expect(result.text).toBe(text);
|
142 | });
|
143 |
|
144 | testSingleCase(chrono.pt, "terça-feira 7/2/2013 1-230 pm", (result, text) => {
|
145 | expect(result.text).toBe(text);
|
146 | });
|
147 |
|
148 | testSingleCase(chrono.pt, "Segunda-feira, 6/24/2013, 7:00pm - 8:30pm", (result, text) => {
|
149 | expect(result.text).toBe(text);
|
150 | });
|
151 |
|
152 | testSingleCase(chrono.pt, "Quarta, 3 Julho de 2013 às 2pm", (result, text) => {
|
153 | expect(result.text).toBe(text);
|
154 | });
|
155 |
|
156 | testSingleCase(chrono.pt, "6pm", (result, text) => {
|
157 | expect(result.text).toBe(text);
|
158 | });
|
159 |
|
160 | testSingleCase(chrono.pt, "6 pm", (result, text) => {
|
161 | expect(result.text).toBe(text);
|
162 | });
|
163 |
|
164 | testSingleCase(chrono.pt, "7-10pm", (result, text) => {
|
165 | expect(result.text).toBe(text);
|
166 | });
|
167 |
|
168 | testSingleCase(chrono.pt, "11.1pm", (result, text) => {
|
169 | expect(result.text).toBe(text);
|
170 | });
|
171 |
|
172 | testSingleCase(chrono.pt, "às 12", (result, text) => {
|
173 | expect(result.text).toBe(text);
|
174 | });
|
175 | });
|