UNPKG

4.78 kBPlain TextView Raw
1import * as chrono from "../../src";
2import { testSingleCase } from "../test_util";
3
4test("Test - Single Expression", function () {
5 testSingleCase(chrono.fr, "On doit faire quelque chose dans 5 jours.", new Date(2012, 7, 10), (result) => {
6 expect(result.index).toBe(28);
7 expect(result.text).toBe("dans 5 jours");
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(
18 chrono.fr,
19 "On doit faire quelque chose dans cinq jours.",
20 new Date(2012, 7, 10, 11, 12),
21 (result) => {
22 expect(result.index).toBe(28);
23 expect(result.text).toBe("dans cinq jours");
24
25 expect(result.start).not.toBeNull();
26 expect(result.start.get("year")).toBe(2012);
27 expect(result.start.get("month")).toBe(8);
28 expect(result.start.get("day")).toBe(15);
29
30 expect(result.start).toBeDate(new Date(2012, 8 - 1, 15, 11, 12));
31 }
32 );
33
34 testSingleCase(chrono.fr, "dans 5 minutes", new Date(2012, 7, 10, 12, 14), (result) => {
35 expect(result.index).toBe(0);
36 expect(result.text).toBe("dans 5 minutes");
37
38 expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
39 });
40
41 testSingleCase(chrono.fr, "pour 5 minutes", new Date(2012, 7, 10, 12, 14), (result) => {
42 expect(result.index).toBe(0);
43 expect(result.text).toBe("pour 5 minutes");
44
45 expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
46 });
47
48 testSingleCase(chrono.fr, "en 1 heure", new Date(2012, 7, 10, 12, 14), (result) => {
49 expect(result.index).toBe(0);
50 expect(result.text).toBe("en 1 heure");
51
52 expect(result.start).toBeDate(new Date(2012, 7, 10, 13, 14));
53 });
54
55 testSingleCase(chrono.fr, "régler une minuterie de 5 minutes", new Date(2012, 7, 10, 12, 14), (result) => {
56 expect(result.index).toBe(21);
57 expect(result.text).toBe("de 5 minutes");
58
59 expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
60 });
61
62 testSingleCase(chrono.fr, "Dans 5 minutes je vais rentrer chez moi", new Date(2012, 7, 10, 12, 14), (result) => {
63 expect(result.index).toBe(0);
64 expect(result.text).toBe("Dans 5 minutes");
65
66 expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
67 });
68
69 testSingleCase(chrono.fr, "Dans 5 secondes une voiture va bouger", new Date(2012, 7, 10, 12, 14), (result) => {
70 expect(result.index).toBe(0);
71 expect(result.text).toBe("Dans 5 secondes");
72
73 expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 14, 5));
74 });
75
76 testSingleCase(chrono.fr, "dans deux semaines", new Date(2012, 7, 10, 12, 14), (result) => {
77 expect(result.index).toBe(0);
78 expect(result.text).toBe("dans deux semaines");
79
80 expect(result.start).toBeDate(new Date(2012, 7, 24, 12, 14));
81 });
82
83 testSingleCase(chrono.fr, "dans un mois", new Date(2012, 7, 10, 7, 14), (result) => {
84 expect(result.index).toBe(0);
85 expect(result.text).toBe("dans un mois");
86
87 expect(result.start).toBeDate(new Date(2012, 8, 10, 7, 14));
88 });
89
90 testSingleCase(chrono.fr, "dans quelques mois", new Date(2012, 6, 10, 22, 14), (result) => {
91 expect(result.index).toBe(0);
92 expect(result.text).toBe("dans quelques mois");
93
94 expect(result.start).toBeDate(new Date(2012, 9, 10, 22, 14));
95 });
96
97 testSingleCase(chrono.fr, "en une année", new Date(2012, 7, 10, 12, 14), (result) => {
98 expect(result.index).toBe(0);
99 expect(result.text).toBe("en une année");
100
101 expect(result.start).toBeDate(new Date(2013, 7, 10, 12, 14));
102 });
103
104 testSingleCase(chrono.fr, "dans une Année", new Date(2012, 7, 10, 12, 14), (result) => {
105 expect(result.index).toBe(0);
106 expect(result.text).toBe("dans une Année");
107
108 expect(result.start).toBeDate(new Date(2013, 7, 10, 12, 14));
109 });
110
111 testSingleCase(
112 chrono.fr,
113 "Dans 5 Minutes une voiture doit être bougée",
114 new Date(2012, 7, 10, 12, 14),
115 (result) => {
116 expect(result.index).toBe(0);
117 expect(result.text).toBe("Dans 5 Minutes");
118
119 expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
120 }
121 );
122
123 testSingleCase(chrono.fr, "Dans 5 mins une voiture doit être bougée", new Date(2012, 7, 10, 12, 14), (result) => {
124 expect(result.index).toBe(0);
125 expect(result.text).toBe("Dans 5 mins");
126
127 expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
128 });
129});