UNPKG

5.23 kBPlain TextView Raw
1import * as chrono from "../../src";
2import { testSingleCase } from "../test_util";
3
4test("Test - Positive time units", () => {
5 // next 2 weeks
6 testSingleCase(chrono.nl, "komende 2 weken", new Date(2016, 10 - 1, 1, 12), (result, text) => {
7 expect(result.text).toBe(text);
8 expect(result.start.get("year")).toBe(2016);
9 expect(result.start.get("month")).toBe(10);
10 expect(result.start.get("day")).toBe(15);
11 });
12
13 // next 2 days
14 testSingleCase(chrono.nl, "komende 2 dagen", new Date(2016, 10 - 1, 1, 12), (result, text) => {
15 expect(result.text).toBe(text);
16 expect(result.start.get("year")).toBe(2016);
17 expect(result.start.get("month")).toBe(10);
18 expect(result.start.get("day")).toBe(3);
19 expect(result.start.get("hour")).toBe(12);
20 });
21
22 // next two years
23 testSingleCase(chrono.nl, "komende 2 jaar", new Date(2016, 10 - 1, 1, 12), (result, text) => {
24 expect(result.text).toBe(text);
25 expect(result.start.get("year")).toBe(2018);
26 expect(result.start.get("month")).toBe(10);
27 expect(result.start.get("day")).toBe(1);
28 expect(result.start.get("hour")).toBe(12);
29 });
30
31 // next 2 weeks 3 days
32 testSingleCase(chrono.nl, "komende 2 weken 3 dagen", new Date(2016, 10 - 1, 1, 12), (result, text) => {
33 expect(result.text).toBe(text);
34 expect(result.start.get("year")).toBe(2016);
35 expect(result.start.get("month")).toBe(10);
36 expect(result.start.get("day")).toBe(18);
37 expect(result.start.get("hour")).toBe(12);
38 });
39});
40
41test("Test - Negative time units", () => {
42 // last 2 weeks
43 testSingleCase(chrono.nl, "afgelopen 2 weken", new Date(2016, 10 - 1, 1, 12), (result, text) => {
44 expect(result.text).toBe(text);
45 expect(result.start.get("year")).toBe(2016);
46 expect(result.start.get("month")).toBe(9);
47 expect(result.start.get("day")).toBe(17);
48 expect(result.start.get("hour")).toBe(12);
49 });
50
51 // last two weeks
52 testSingleCase(chrono.nl, "afgelopen twee weken", new Date(2016, 10 - 1, 1, 12), (result, text) => {
53 expect(result.text).toBe(text);
54 expect(result.start.get("year")).toBe(2016);
55 expect(result.start.get("month")).toBe(9);
56 expect(result.start.get("day")).toBe(17);
57 expect(result.start.get("hour")).toBe(12);
58 });
59
60 // past 2 days
61 testSingleCase(chrono.nl, "afgelopen 2 dagen", new Date(2016, 10 - 1, 1, 12), (result, text) => {
62 expect(result.text).toBe(text);
63 expect(result.start.get("year")).toBe(2016);
64 expect(result.start.get("month")).toBe(9);
65 expect(result.start.get("day")).toBe(29);
66 expect(result.start.get("hour")).toBe(12);
67 });
68
69 // +2 months, 5 days
70 testSingleCase(chrono.nl, "+2 maanden 5 dagen", new Date(2016, 10 - 1, 1, 12), (result, text) => {
71 expect(result.text).toBe(text);
72 expect(result.start.get("year")).toBe(2016);
73 expect(result.start.get("month")).toBe(12);
74 expect(result.start.get("day")).toBe(6);
75 expect(result.start.get("hour")).toBe(12);
76 });
77});
78
79test("Test - Plus '+' sign", () => {
80 //+15 minutes
81 testSingleCase(chrono.nl.casual, "+15 minuten", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => {
82 expect(result.text).toBe(text);
83 expect(result.start.get("hour")).toBe(12);
84 expect(result.start.get("minute")).toBe(29);
85
86 expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 29));
87 });
88
89 testSingleCase(chrono.nl.casual, "+15min", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => {
90 expect(result.text).toBe(text);
91 expect(result.start.get("hour")).toBe(12);
92 expect(result.start.get("minute")).toBe(29);
93
94 expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 29));
95 });
96
97 // +1 day 2 hour
98 testSingleCase(chrono.nl.casual, "+1 dag 2 uur", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => {
99 expect(result.text).toBe(text);
100 expect(result.start.get("day")).toBe(11);
101 expect(result.start.get("hour")).toBe(14);
102 expect(result.start.get("minute")).toBe(14);
103
104 expect(result.start).toBeDate(new Date(2012, 7 - 1, 11, 14, 14));
105 });
106});
107
108test("Test - Minus '-' sign", () => {
109 // -3y
110 testSingleCase(chrono.nl.casual, "-3jr", new Date(2015, 7 - 1, 10, 12, 14), (result, text) => {
111 expect(result.text).toBe(text);
112 expect(result.start.get("year")).toBe(2012);
113 expect(result.start.get("month")).toBe(7);
114 expect(result.start.get("day")).toBe(10);
115 expect(result.start.get("hour")).toBe(12);
116 expect(result.start.get("minute")).toBe(14);
117
118 expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 14));
119 });
120
121 // -2hr5min
122 testSingleCase(chrono.nl, "-2u5min", new Date(2016, 10 - 1, 1, 12), (result, text) => {
123 expect(result.text).toBe(text);
124 expect(result.start.get("year")).toBe(2016);
125 expect(result.start.get("month")).toBe(10);
126 expect(result.start.get("day")).toBe(1);
127 expect(result.start.get("hour")).toBe(9);
128 expect(result.start.get("minute")).toBe(55);
129 });
130});