6cbc9a2b56dd6b61a4e0d9e1b120b12da67e22d3
[kivitendo-erp.git] / js / t / kivi / parse_format_date.js
1 QUnit.test("kivi.parse_date function for German date style with dots", function( assert ) {
2   kivi.setup_formats({ dates: "dd.mm.yy" });
3
4   assert.deepEqual(kivi.parse_date("01.01.2007"), new Date(2007, 0, 1));
5   assert.deepEqual(kivi.parse_date("1.1.2007"), new Date(2007, 0, 1));
6   assert.deepEqual(kivi.parse_date("      01 .  1. 2007   "), new Date(2007, 0, 1));
7
8   assert.deepEqual(kivi.parse_date("29.02.2008"), new Date(2008, 1, 29));
9
10   assert.deepEqual(kivi.parse_date("11.12.2014"), new Date(2014, 11, 11));
11
12   assert.deepEqual(kivi.parse_date("25.12."), new Date((new Date).getFullYear(), 11, 25));
13   assert.deepEqual(kivi.parse_date("25.12"), new Date((new Date).getFullYear(), 11, 25));
14
15   assert.deepEqual(kivi.parse_date("2512"), new Date((new Date).getFullYear(), 11, 25));
16   assert.deepEqual(kivi.parse_date("25122015"), new Date(2015, 11, 25));
17   assert.deepEqual(kivi.parse_date("251215"), new Date(2015, 11, 25));
18   assert.deepEqual(kivi.parse_date("25"), new Date((new Date).getFullYear(), (new Date).getMonth(), 25));
19   assert.deepEqual(kivi.parse_date("1"), new Date((new Date).getFullYear(), (new Date).getMonth(), 1));
20   assert.deepEqual(kivi.parse_date("01"), new Date((new Date).getFullYear(), (new Date).getMonth(), 1));
21
22   assert.deepEqual(kivi.parse_date("Totally Invalid!"), undefined);
23   assert.deepEqual(kivi.parse_date(":"), undefined);
24   assert.deepEqual(kivi.parse_date("::"), undefined);
25   assert.deepEqual(kivi.parse_date(""), null);
26   assert.deepEqual(kivi.parse_date("0"), new Date());
27   assert.deepEqual(kivi.parse_date("29.02.20008"), undefined);
28 });
29
30 QUnit.test("kivi.parse_date function for German date style with slashes", function( assert ) {
31   kivi.setup_formats({ dates: "dd/mm/yy" });
32
33   assert.deepEqual(kivi.parse_date("01/01/2007"), new Date(2007, 0, 1));
34   assert.deepEqual(kivi.parse_date("1/1/2007"), new Date(2007, 0, 1));
35   assert.deepEqual(kivi.parse_date("      01 /  1/ 2007   "), new Date(2007, 0, 1));
36
37   assert.deepEqual(kivi.parse_date("29/02/2008"), new Date(2008, 1, 29));
38
39   assert.deepEqual(kivi.parse_date("11/12/2014"), new Date(2014, 11, 11));
40
41   assert.deepEqual(kivi.parse_date("25/12/"), new Date((new Date).getFullYear(), 11, 25));
42   assert.deepEqual(kivi.parse_date("25/12"), new Date((new Date).getFullYear(), 11, 25));
43
44   assert.deepEqual(kivi.parse_date("Totally Invalid!"), undefined);
45 });
46
47 QUnit.test("kivi.parse_date function for American date style", function( assert ) {
48   kivi.setup_formats({ dates: "mm/dd/yy" });
49
50   assert.deepEqual(kivi.parse_date("01/01/2007"), new Date(2007, 0, 1));
51   assert.deepEqual(kivi.parse_date("1/1/2007"), new Date(2007, 0, 1));
52   assert.deepEqual(kivi.parse_date("      01 /  1/ 2007   "), new Date(2007, 0, 1));
53
54   assert.deepEqual(kivi.parse_date("02/29/2008"), new Date(2008, 1, 29));
55
56   assert.deepEqual(kivi.parse_date("12/11/2014"), new Date(2014, 11, 11));
57
58   assert.deepEqual(kivi.parse_date("12/25/"), new Date((new Date).getFullYear(), 11, 25));
59   assert.deepEqual(kivi.parse_date("12/25"), new Date((new Date).getFullYear(), 11, 25));
60
61   assert.deepEqual(kivi.parse_date("Totally Invalid!"), undefined);
62 });
63
64 QUnit.test("kivi.parse_date function for ISO date style", function( assert ) {
65   kivi.setup_formats({ dates: "yyyy-mm-dd" });
66
67   assert.deepEqual(kivi.parse_date("2007-01-01"), new Date(2007, 0, 1));
68   assert.deepEqual(kivi.parse_date("2007-1-1"), new Date(2007, 0, 1));
69   assert.deepEqual(kivi.parse_date("      2007 - 1     -01   "), new Date(2007, 0, 1));
70
71   assert.deepEqual(kivi.parse_date("2008-02-29"), new Date(2008, 1, 29));
72
73   assert.deepEqual(kivi.parse_date("2014-12-11"), new Date(2014, 11, 11));
74
75   assert.deepEqual(kivi.parse_date("-12-25"), new Date((new Date).getFullYear(), 11, 25));
76 });
77
78 QUnit.test("kivi.format_date function for German date style with dots", function( assert ) {
79   kivi.setup_formats({ dates: "dd.mm.yy" });
80
81   assert.deepEqual(kivi.format_date(new Date(2007, 0, 1)), "01.01.2007");
82   assert.deepEqual(kivi.format_date(new Date(2008, 1, 29)), "29.02.2008");
83   assert.deepEqual(kivi.format_date(new Date(2014, 11, 11)), "11.12.2014");
84
85   assert.deepEqual(kivi.format_date(new Date(undefined, undefined, undefined)), undefined);
86 });
87
88 QUnit.test("kivi.format_date function for German date style with slashes", function( assert ) {
89   kivi.setup_formats({ dates: "dd/mm/yy" });
90
91   assert.deepEqual(kivi.format_date(new Date(2007, 0, 1)), "01/01/2007");
92   assert.deepEqual(kivi.format_date(new Date(2008, 1, 29)), "29/02/2008");
93   assert.deepEqual(kivi.format_date(new Date(2014, 11, 11)), "11/12/2014");
94
95   assert.deepEqual(kivi.format_date(new Date(undefined, undefined, undefined)), undefined);
96 });
97
98 QUnit.test("kivi.format_date function for American date style", function( assert ) {
99   kivi.setup_formats({ dates: "mm/dd/yy" });
100
101   assert.deepEqual(kivi.format_date(new Date(2007, 0, 1)), "01/01/2007");
102   assert.deepEqual(kivi.format_date(new Date(2008, 1, 29)), "02/29/2008");
103   assert.deepEqual(kivi.format_date(new Date(2014, 11, 11)), "12/11/2014");
104
105   assert.deepEqual(kivi.format_date(new Date(undefined, undefined, undefined)), undefined);
106 });
107
108 QUnit.test("kivi.format_date function for ISO date style", function( assert ) {
109   kivi.setup_formats({ dates: "yyyy-mm-dd" });
110
111   assert.deepEqual(kivi.format_date(new Date(2007, 0, 1)), "2007-01-01");
112   assert.deepEqual(kivi.format_date(new Date(2008, 1, 29)), "2008-02-29");
113   assert.deepEqual(kivi.format_date(new Date(2014, 11, 11)), "2014-12-11");
114
115   assert.deepEqual(kivi.parse_date("1225"), new Date((new Date).getFullYear(), 11, 25));
116   assert.deepEqual(kivi.parse_date("20151225"), new Date(2015, 11, 25));
117   assert.deepEqual(kivi.parse_date("151225"), new Date(2015, 11, 25));
118   assert.deepEqual(kivi.parse_date("25"), new Date((new Date).getFullYear(), (new Date).getMonth(), 25));
119   assert.deepEqual(kivi.parse_date("1"), new Date((new Date).getFullYear(), (new Date).getMonth(), 1));
120   assert.deepEqual(kivi.parse_date("01"), new Date((new Date).getFullYear(), (new Date).getMonth(), 1));
121
122   assert.deepEqual(kivi.format_date(new Date(undefined, undefined, undefined)), undefined);
123 });