UNPKG

4.61 kBPlain TextView Raw
1import * as chrono from "../../src";
2import { testSingleCase } from "../test_util";
3
4test("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});