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