393d790c3af27e42e1dced5645f713535812cbf4
[kivitendo-erp.git] / js / t / kivi / parse_format_time.js
1 function custom_time(h,m) {
2   var time = new Date();
3   time.setHours(h,m);
4   return time;
5 }
6
7 QUnit.test("kivi.parse_time function for German time style with colon", function( assert ) {
8   assert.equalTimes = function(actual, expected, message) {
9     console.log(this);
10     var result = (expected === undefined && actual === undefined)
11                 || (expected === null      && actual === null)
12                 || (expected instanceof Date && actual instanceof Date &&
13                     expected.getHours()   == actual.getHours() &&
14                     expected.getMinutes() == actual.getMinutes());
15
16     this.push( {
17         result: result,
18         actual: actual,
19         expected: expected,
20         message: message
21     } );
22   }
23
24   kivi.setup_formats({ times: "hh:mm" });
25
26   assert.equalTimes(kivi.parse_time("12:34"), custom_time(12,34));
27   assert.equalTimes(kivi.parse_time("10:00"), custom_time(10,0));
28   assert.equalTimes(kivi.parse_time("      12 :  23  ") - custom_time(12,23));
29
30   assert.equalTimes(kivi.parse_time("00:20"), custom_time(0,20));
31
32   assert.equalTimes(kivi.parse_time("23:60"), custom_time(23,60));
33
34   assert.equalTimes(kivi.parse_time("1142"), custom_time(11,42));
35
36   assert.equalTimes(kivi.parse_time("Totally Invalid!"), undefined);
37   assert.equalTimes(kivi.parse_time("."), undefined);
38   assert.equalTimes(kivi.parse_time(".."), undefined);
39   assert.equalTimes(kivi.parse_time(":"), undefined);
40   assert.equalTimes(kivi.parse_time("::"), undefined);
41   assert.equalTimes(kivi.parse_time("aa:bb"), undefined);
42   assert.equalTimes(kivi.parse_time("aasd:bbaf"), undefined);
43   assert.equalTimes(kivi.parse_time(""), null);
44   assert.equalTimes(kivi.parse_time("0"), new Date());
45   assert.equalTimes(kivi.parse_time("29:20008"), custom_time(29,20008));
46 });
47