1 if(!dojo._hasResource["tests.date.stamp"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
2 dojo._hasResource["tests.date.stamp"] = true;
3 dojo.provide("tests.date.stamp");
5 dojo.require("dojo.date.stamp");
7 tests.register("tests.date.stamp",
9 function test_date_iso(t){
10 var rfc = "2005-06-29T08:05:00-07:00";
11 var date = dojo.date.stamp.fromISOString(rfc);
12 t.is(2005,date.getFullYear());
13 t.is(5,date.getMonth());
14 t.is(29,date.getUTCDate());
15 t.is(15,date.getUTCHours());
16 t.is(5,date.getMinutes());
17 t.is(0,date.getSeconds());
20 date = dojo.date.stamp.fromISOString(rfc);
21 t.is(2004,date.getFullYear());
22 t.is(1,date.getMonth());
23 t.is(29,date.getDate());
26 date = dojo.date.stamp.fromISOString(rfc);
27 t.is(2004,date.getFullYear());
28 t.is(0,date.getMonth());
29 t.is(1,date.getDate());
31 // No TZ info means local time
32 rfc = "2004-02-29T01:23:45";
33 date = dojo.date.stamp.fromISOString(rfc);
34 t.is(2004,date.getFullYear());
35 t.is(1,date.getMonth());
36 t.is(29,date.getDate());
37 t.is(1,date.getHours());
39 date = new Date(2005,5,29,8,5,0);
40 rfc = dojo.date.stamp.toISOString(date);
41 //truncate for comparison
42 t.is("2005-06",rfc.substring(0,7));
44 date = new Date(101,0,2);
45 date.setFullYear(101);
46 rfc = dojo.date.stamp.toISOString(date);
47 //truncate for comparison
48 t.is("0101-01",rfc.substring(0,7));
51 date = dojo.date.stamp.fromISOString(rfc);
52 t.is(101,date.getFullYear());
53 t.is(0,date.getMonth());
54 t.is(1,date.getDate());
56 date = dojo.date.stamp.fromISOString("T18:46:39");
57 t.is(18, date.getHours());
58 t.is(46, date.getMinutes());
59 t.is(39, date.getSeconds());
62 function test_date_iso_tz(t){
64 //23:59:59.9942 or 235959.9942
65 // var date = dojo.date.stamp.fromISOString("T18:46:39.9942");
66 // t.is(18, date.getHours());
67 // t.is(46, date.getMinutes());
68 // t.is(39, date.getSeconds());
69 // t.is(994, date.getMilliseconds());
71 //1995-02-04 24:00 = 1995-02-05 00:00
74 var offset = new Date().getTimezoneOffset()/60;
75 date = dojo.date.stamp.fromISOString("T18:46:39+07:00");
76 t.is(11, date.getUTCHours());
78 date = dojo.date.stamp.fromISOString("T18:46:39+00:00");
79 t.is(18, date.getUTCHours());
81 date = dojo.date.stamp.fromISOString("T18:46:39Z");
82 t.is(18, date.getUTCHours());
84 date = dojo.date.stamp.fromISOString("T16:46:39-07:00");
85 t.is(23, date.getUTCHours());
87 //+hh:mm, +hhmm, or +hh
89 //-hh:mm, -hhmm, or -hh