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
167 lines
6.3 KiB
2 years ago
|
/*
|
||
|
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
|
||
|
|
||
|
}
|