1 | import * as chrono from "../../src";
|
2 | import { testSingleCase } from "../test_util";
|
3 |
|
4 | test("Test - Single Expression", function () {
|
5 | testSingleCase(chrono.de, "Wir müssen etwas in 5 Tagen erledigen.", new Date(2012, 7, 10), (result) => {
|
6 | expect(result.index).toBe(17);
|
7 | expect(result.text).toBe("in 5 Tagen");
|
8 |
|
9 | expect(result.start).not.toBeNull();
|
10 | expect(result.start.get("year")).toBe(2012);
|
11 | expect(result.start.get("month")).toBe(8);
|
12 | expect(result.start.get("day")).toBe(15);
|
13 |
|
14 | expect(result.start).toBeDate(new Date(2012, 8 - 1, 15));
|
15 | });
|
16 |
|
17 | testSingleCase(chrono.de, "Wir müssen etwas in fünf Tagen erledigen.", new Date(2012, 7, 10, 11, 12), (result) => {
|
18 | expect(result.index).toBe(17);
|
19 | expect(result.text).toBe("in fünf Tagen");
|
20 |
|
21 | expect(result.start).not.toBeNull();
|
22 | expect(result.start.get("year")).toBe(2012);
|
23 | expect(result.start.get("month")).toBe(8);
|
24 | expect(result.start.get("day")).toBe(15);
|
25 |
|
26 | expect(result.start).toBeDate(new Date(2012, 8 - 1, 15, 11, 12));
|
27 | });
|
28 |
|
29 | testSingleCase(chrono.de, "in 5 Minuten", new Date(2012, 7, 10, 12, 14), (result) => {
|
30 | expect(result.index).toBe(0);
|
31 | expect(result.text).toBe("in 5 Minuten");
|
32 |
|
33 | expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
|
34 | });
|
35 |
|
36 | testSingleCase(chrono.de, "für 5 minuten", new Date(2012, 7, 10, 12, 14), (result) => {
|
37 | expect(result.index).toBe(0);
|
38 | expect(result.text).toBe("für 5 minuten");
|
39 |
|
40 | expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
|
41 | });
|
42 |
|
43 | testSingleCase(chrono.de, "in einer Stunde", new Date(2012, 7, 10, 12, 14), (result) => {
|
44 | expect(result.index).toBe(0);
|
45 | expect(result.text).toBe("in einer Stunde");
|
46 |
|
47 | expect(result.start).toBeDate(new Date(2012, 7, 10, 13, 14));
|
48 | });
|
49 |
|
50 | testSingleCase(chrono.de, "starte einen Timer für 5 Minuten", new Date(2012, 7, 10, 12, 14), (result) => {
|
51 | expect(result.index).toBe(19);
|
52 | expect(result.text).toBe("für 5 Minuten");
|
53 |
|
54 | expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
|
55 | });
|
56 |
|
57 | testSingleCase(chrono.de, "In 5 Minuten gehe ich nach Hause", new Date(2012, 7, 10, 12, 14), (result) => {
|
58 | expect(result.index).toBe(0);
|
59 | expect(result.text).toBe("In 5 Minuten");
|
60 |
|
61 | expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
|
62 | });
|
63 |
|
64 | testSingleCase(chrono.de, "In 5 Sekunden wird ein Auto fahren", new Date(2012, 7, 10, 12, 14), (result) => {
|
65 | expect(result.index).toBe(0);
|
66 | expect(result.text).toBe("In 5 Sekunden");
|
67 |
|
68 | expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 14, 5));
|
69 | });
|
70 |
|
71 | testSingleCase(chrono.de, "in zwei Wochen", new Date(2012, 7, 10, 12, 14), (result) => {
|
72 | expect(result.index).toBe(0);
|
73 | expect(result.text).toBe("in zwei Wochen");
|
74 |
|
75 | expect(result.start).toBeDate(new Date(2012, 7, 24, 12, 14));
|
76 | });
|
77 |
|
78 | testSingleCase(chrono.de, "in einem Monat", new Date(2012, 7, 10, 7, 14), (result) => {
|
79 | expect(result.index).toBe(0);
|
80 | expect(result.text).toBe("in einem Monat");
|
81 |
|
82 | expect(result.start).toBeDate(new Date(2012, 8, 10, 7, 14));
|
83 | });
|
84 |
|
85 | testSingleCase(chrono.de, "in einigen Monaten", new Date(2012, 6, 10, 22, 14), (result) => {
|
86 | expect(result.index).toBe(0);
|
87 | expect(result.text).toBe("in einigen Monaten");
|
88 |
|
89 | expect(result.start).toBeDate(new Date(2012, 9, 10, 22, 14));
|
90 | });
|
91 |
|
92 | testSingleCase(chrono.de, "in einem Jahr", new Date(2012, 7, 10, 12, 14), (result) => {
|
93 | expect(result.index).toBe(0);
|
94 | expect(result.text).toBe("in einem Jahr");
|
95 |
|
96 | expect(result.start).toBeDate(new Date(2013, 7, 10, 12, 14));
|
97 | });
|
98 |
|
99 | testSingleCase(chrono.de, "in 20 Jahren", new Date(2012, 7, 10, 12, 14), (result) => {
|
100 | expect(result.index).toBe(0);
|
101 | expect(result.text).toBe("in 20 Jahren");
|
102 |
|
103 | expect(result.start).toBeDate(new Date(2032, 7, 10, 12, 14));
|
104 | });
|
105 |
|
106 | testSingleCase(chrono.de, "In 5 Minuten wird ein Auto fahren", new Date(2012, 7, 10, 12, 14), (result) => {
|
107 | expect(result.index).toBe(0);
|
108 | expect(result.text).toBe("In 5 Minuten");
|
109 |
|
110 | expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
|
111 | });
|
112 |
|
113 | testSingleCase(chrono.de, "In 5 Min wird ein Auto fahren", new Date(2012, 7, 10, 12, 14), (result) => {
|
114 | expect(result.index).toBe(0);
|
115 | expect(result.text).toBe("In 5 Min");
|
116 |
|
117 | expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
|
118 | });
|
119 | });
|