UNPKG

can

Version:

MIT-licensed, client-side, JavaScript framework that makes building rich web applications easy.

99 lines (76 loc) 2.37 kB
define(["doh", "dojo/date/stamp"], function(doh, stamp){ doh.register("tests.date.stamp", [ function test_date_iso(t){ var rfc = "2005-06-29T08:05:00-07:00"; var date = stamp.fromISOString(rfc); t.is(2005,date.getFullYear()); t.is(5,date.getMonth()); t.is(29,date.getUTCDate()); t.is(15,date.getUTCHours()); t.is(5,date.getUTCMinutes()); t.is(0,date.getSeconds()); rfc = "2004-02-29"; date = stamp.fromISOString(rfc); t.is(2004,date.getFullYear()); t.is(1,date.getMonth()); t.is(29,date.getDate()); rfc = "2004-01"; date = stamp.fromISOString(rfc); t.is(2004,date.getFullYear()); t.is(0,date.getMonth()); t.is(1,date.getDate()); // No TZ info means local time rfc = "2004-02-29T01:23:45"; date = stamp.fromISOString(rfc); t.is(2004,date.getFullYear()); t.is(1,date.getMonth()); t.is(29,date.getDate()); t.is(1,date.getHours()); date = new Date(2005,5,29,8,5,0); rfc = stamp.toISOString(date); //truncate for comparison t.is("2005-06",rfc.substring(0,7)); date = new Date(101,0,2); date.setFullYear(101); rfc = stamp.toISOString(date); //truncate for comparison t.is("0101-01",rfc.substring(0,7)); rfc = "0101-01-01"; date = stamp.fromISOString(rfc); t.is(101,date.getFullYear()); t.is(0,date.getMonth()); t.is(1,date.getDate()); rfc = "0001-01T00:00:00"; date = stamp.fromISOString(rfc); t.is(1,date.getFullYear()); date = stamp.fromISOString("T18:46:39"); t.is(18, date.getHours()); t.is(46, date.getMinutes()); t.is(39, date.getSeconds()); }, function test_date_iso_tz(t){ //23:59:59.9942 or 235959.9942 // var date = stamp.fromISOString("T18:46:39.9942"); // t.is(18, date.getHours()); // t.is(46, date.getMinutes()); // t.is(39, date.getSeconds()); // t.is(994, date.getMilliseconds()); //1995-02-04 24:00 = 1995-02-05 00:00 //timezone tests var offset = new Date().getTimezoneOffset()/60; date = stamp.fromISOString("T18:46:39+07:00"); t.is(11, date.getUTCHours()); date = stamp.fromISOString("T18:46:39+00:00"); t.is(18, date.getUTCHours()); date = stamp.fromISOString("T18:46:39Z"); t.is(18, date.getUTCHours()); date = stamp.fromISOString("T16:46:39-07:00"); t.is(23, date.getUTCHours()); date = stamp.fromISOString("T00:00:00Z", new Date(2010,3,1)); t.is(0, date.getUTCHours()); t.is(2010, date.getFullYear()); //+hh:mm, +hhmm, or +hh //-hh:mm, -hhmm, or -hh } ]); });