SuperX-Kernmodul
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

167 lines
6.3 KiB

/*
Copyright (c) 2004-2006, The Dojo Foundation
All Rights Reserved.
Licensed under the Academic Free License version 2.1 or above OR the
modified BSD license. For more information on Dojo licensing, see:
http://dojotoolkit.org/community/licensing.shtml
*/
dojo.require("dojo.date.serialize");
function test_date_rfc3339() {
var rfc = "2005-06-29T08:05:00-07:00";
var date = dojo.date.fromRfc3339(rfc);
jum.assertEquals("rfc3339_test1",2005,date.getFullYear());
jum.assertEquals("rfc3339_test2",5,date.getMonth());
jum.assertEquals("rfc3339_test3",29,date.getDate());
jum.assertEquals("rfc3339_test4",15,date.getUTCHours());
jum.assertEquals("rfc3339_test5",5,date.getMinutes());
jum.assertEquals("rfc3339_test6",0,date.getSeconds());
rfc = "2004-02-29Tany";
date = dojo.date.fromRfc3339(rfc);
jum.assertEquals("rfc3339_test7",2004,date.getFullYear());
jum.assertEquals("rfc3339_test8",1,date.getMonth());
jum.assertEquals("rfc3339_test9",29,date.getDate());
date = new Date(2005,5,29,8,5,0);
rfc = dojo.date.toRfc3339(date);
//truncate for comparison
jum.assertEquals("rfc3339_test10","2005-06",rfc.substring(0,7));
}
/* ISO 8601 Functions
*********************/
function test_date_fromIso8601() {
var iso = "20060210T000000Z";
var date = dojo.date.fromIso8601(iso);
jum.assertEquals("fromIso8601_test1",2006,date.getFullYear());
jum.assertEquals("fromIso8601_test2",1,date.getMonth());
jum.assertEquals("fromIso8601_test3",10,date.getUTCDate());
}
function test_date_fromIso8601Date () {
//YYYY-MM-DD
var date = dojo.date.fromIso8601Date("2005-02-22");
jum.assertEquals("fromIso8601Date_test7", 2005, date.getFullYear());
jum.assertEquals("fromIso8601Date_test8", 1, date.getMonth());
jum.assertEquals("fromIso8601Date_test9", 22, date.getDate());
//YYYYMMDD
var date = dojo.date.fromIso8601Date("20050222");
jum.assertEquals("fromIso8601Date_test10", 2005, date.getFullYear());
jum.assertEquals("fromIso8601Date_test11", 1, date.getMonth());
jum.assertEquals("fromIso8601Date_test12", 22, date.getDate());
//YYYY-MM
var date = dojo.date.fromIso8601Date("2005-08");
jum.assertEquals("fromIso8601Date_test13", 2005, date.getFullYear());
jum.assertEquals("fromIso8601Date_test14", 7, date.getMonth());
//YYYYMM
var date = dojo.date.fromIso8601Date("200502");
jum.assertEquals("fromIso8601Date_test15", 2005, date.getFullYear());
jum.assertEquals("fromIso8601Date_test16", 1, date.getMonth());
//YYYY
var date = dojo.date.fromIso8601Date("2005");
jum.assertEquals("fromIso8601Date_test17", 2005, date.getFullYear());
//1997-W01 or 1997W01
var date = dojo.date.fromIso8601Date("2005-W22");
jum.assertEquals("fromIso8601Date_test18", 2005, date.getFullYear());
jum.assertEquals("fromIso8601Date_test19", 5, date.getMonth());
jum.assertEquals("fromIso8601Date_test20", 6, date.getDate());
var date = dojo.date.fromIso8601Date("2005W22");
jum.assertEquals("fromIso8601Date_test21", 2005, date.getFullYear());
jum.assertEquals("fromIso8601Date_test22", 5, date.getMonth());
jum.assertEquals("fromIso8601Date_test23", 6, date.getDate());
//1997-W01-2 or 1997W012
var date = dojo.date.fromIso8601Date("2005-W22-4");
jum.assertEquals("fromIso8601Date_test24", 2005, date.getFullYear());
jum.assertEquals("fromIso8601Date_test25", 5, date.getMonth());
jum.assertEquals("fromIso8601Date_test26", 9, date.getDate());
var date = dojo.date.fromIso8601Date("2005W224");
jum.assertEquals("fromIso8601Date_test27", 2005, date.getFullYear());
jum.assertEquals("fromIso8601Date_test28", 5, date.getMonth());
jum.assertEquals("fromIso8601Date_test29", 9, date.getDate());
//1995-035 or 1995035
var date = dojo.date.fromIso8601Date("2005-146");
jum.assertEquals("fromIso8601Date_test30", 2005, date.getFullYear());
jum.assertEquals("fromIso8601Date_test31", 4, date.getMonth());
jum.assertEquals("fromIso8601Date_test32", 26, date.getDate());
var date = dojo.date.fromIso8601Date("2005146");
jum.assertEquals("fromIso8601Date_test33", 2005, date.getFullYear());
jum.assertEquals("fromIso8601Date_test34", 4, date.getMonth());
jum.assertEquals("fromIso8601Date_test35", 26, date.getDate());
}
function test_date_fromIso8601Time () {
//23:59:59
var date = dojo.date.fromIso8601Time("18:46:39");
jum.assertEquals("fromIso8601Time_test36", 18, date.getHours());
jum.assertEquals("fromIso8601Time_test37", 46, date.getMinutes());
jum.assertEquals("fromIso8601Time_test38", 39, date.getSeconds());
//235959
var date = dojo.date.fromIso8601Time("184639");
jum.assertEquals("fromIso8601Time_test39", 18, date.getHours());
jum.assertEquals("fromIso8601Time_test40", 46, date.getMinutes());
jum.assertEquals("fromIso8601Time_test41", 39, date.getSeconds());
//23:59, 2359, or 23
var date = dojo.date.fromIso8601Time("18:46");
jum.assertEquals("fromIso8601Time_test42", 18, date.getHours());
jum.assertEquals("fromIso8601Time_test43", 46, date.getMinutes());
var date = dojo.date.fromIso8601Time("1846");
jum.assertEquals("fromIso8601Time_test44", 18, date.getHours());
jum.assertEquals("fromIso8601Time_test45", 46, date.getMinutes());
var date = dojo.date.fromIso8601Time("18");
jum.assertEquals("fromIso8601Time_test46", 18, date.getHours());
//23:59:59.9942 or 235959.9942
var date = dojo.date.fromIso8601Time("18:46:39.9942");
jum.assertEquals("fromIso8601Time_test47", 18, date.getHours());
jum.assertEquals("fromIso8601Time_test48", 46, date.getMinutes());
jum.assertEquals("fromIso8601Time_test49", 39, date.getSeconds());
jum.assertEquals("fromIso8601Time_test50", 994, date.getMilliseconds());
var date = dojo.date.fromIso8601Time("184639.9942");
jum.assertEquals("fromIso8601Time_test51", 18, date.getHours());
jum.assertEquals("fromIso8601Time_test52", 46, date.getMinutes());
jum.assertEquals("fromIso8601Time_test53", 39, date.getSeconds());
jum.assertEquals("fromIso8601Time_test54", 994, date.getMilliseconds());
//1995-02-04 24:00 = 1995-02-05 00:00
//timezone tests
var offset = new Date().getTimezoneOffset()/60;
var date = dojo.date.fromIso8601Time("18:46:39+07:00");
jum.assertEquals("fromIso8601Time_test61", 11, date.getUTCHours());
var date = dojo.date.fromIso8601Time("18:46:39+00:00");
jum.assertEquals("fromIso8601Time_test62", 18, date.getUTCHours());
var date = dojo.date.fromIso8601Time("16:46:39-07:00");
jum.assertEquals("fromIso8601Time_test63", 23, date.getUTCHours());
//+hh:mm, +hhmm, or +hh
//-hh:mm, -hhmm, or -hh
}