1 if (typeof(dojo
) != 'undefined') { dojo
.require('MochiKit.DateTime'); }
2 if (typeof(JSAN
) != 'undefined') { JSAN
.use('MochiKit.DateTime'); }
3 if (typeof(tests
) == 'undefined') { tests
= {}; }
5 tests
.test_DateTime = function (t
) {
6 var testDate
= isoDate('2005-2-3');
7 t
.is(testDate
.getFullYear(), 2005, "isoDate year ok");
8 t
.is(testDate
.getDate(), 3, "isoDate day ok");
9 t
.is(testDate
.getMonth(), 1, "isoDate month ok");
10 t
.ok(objEqual(testDate
, new Date("February 3, 2005")), "matches string date");
11 t
.is(toISODate(testDate
), '2005-02-03', 'toISODate ok');
13 var testDate
= isoDate('2005-06-08');
14 t
.is(testDate
.getFullYear(), 2005, "isoDate year ok");
15 t
.is(testDate
.getDate(), 8, "isoDate day ok");
16 t
.is(testDate
.getMonth(), 5, "isoDate month ok");
17 t
.ok(objEqual(testDate
, new Date("June 8, 2005")), "matches string date");
18 t
.is(toISODate(testDate
), '2005-06-08', 'toISODate ok');
20 t
.is(compare(new Date("February 3, 2005"), new Date(2005, 1, 3)), 0, "dates compare eq");
21 t
.is(compare(new Date("February 3, 2005"), new Date(2005, 2, 3)), -1, "dates compare lt");
22 t
.is(compare(new Date("February 3, 2005"), new Date(2005, 0, 3)), 1, "dates compare gt");
24 var testDate
= isoDate('2005-2-3');
25 t
.is(compare(americanDate('2/3/2005'), testDate
), 0, "americanDate eq");
26 t
.is(compare('2/3/2005', toAmericanDate(testDate
)), 0, "toAmericanDate eq");
28 var testTimestamp
= isoTimestamp('2005-2-3 22:01:03');
29 t
.is(compare(testTimestamp
, new Date(2005,1,3,22,1,3)), 0, "isoTimestamp eq");
30 t
.is(compare(testTimestamp
, isoTimestamp('2005-2-3T22:01:03')), 0, "isoTimestamp (real ISO) eq");
31 t
.is(compare(toISOTimestamp(testTimestamp
), '2005-02-03 22:01:03'), 0, "toISOTimestamp eq");
32 testTimestamp
= isoTimestamp('2005-2-3T22:01:03Z');
33 t
.is(toISOTimestamp(testTimestamp
, true), '2005-02-03T22:01:03Z', "toISOTimestamp (real ISO) eq");
35 var localTZ
= Math
.round((new Date(2005,1,3,22,1,3)).getTimezoneOffset()/60)
36 var direction
= (localTZ
< 0) ? "+" : "-";
37 localTZ
= Math
.abs(localTZ
);
38 localTZ
= direction
+ ((localTZ
< 10) ? "0" : "") + localTZ
;
39 testTimestamp
= isoTimestamp("2005-2-3T22:01:03" + localTZ
);
40 var testDateTimestamp
= new Date(2005,1,3,22,1,3);
41 t
.is(compare(testTimestamp
, testDateTimestamp
), 0, "equal with local tz");
42 testTimestamp
= isoTimestamp("2005-2-3T17:01:03-05");
43 var testDateTimestamp
= new Date(Date
.UTC(2005,1,3,22,1,3));
44 t
.is(compare(testTimestamp
, testDateTimestamp
), 0, "equal with specific tz");