ruby-changes:11614
From: akr <ko1@a...>
Date: Wed, 22 Apr 2009 03:09:02 +0900 (JST)
Subject: [ruby-changes:11614] Ruby:r23251 (trunk): * lib/time.rb (Time#rfc2822): pad leading zeros for year.
akr 2009-04-22 03:08:47 +0900 (Wed, 22 Apr 2009) New Revision: 23251 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23251 Log: * lib/time.rb (Time#rfc2822): pad leading zeros for year. (Time#httpdate): ditto. (Time#xmlschema): ditto. Modified files: trunk/ChangeLog trunk/lib/time.rb trunk/test/test_time.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 23250) +++ ChangeLog (revision 23251) @@ -1,3 +1,9 @@ +Wed Apr 22 03:06:56 2009 Tanaka Akira <akr@f...> + + * lib/time.rb (Time#rfc2822): pad leading zeros for year. + (Time#httpdate): ditto. + (Time#xmlschema): ditto. + Wed Apr 22 02:10:48 2009 Tanaka Akira <akr@f...> * lib/time.rb (Time#xmlschema): use subsec instead of nsec. Index: lib/time.rb =================================================================== --- lib/time.rb (revision 23250) +++ lib/time.rb (revision 23251) @@ -445,7 +445,7 @@ # If +self+ is a UTC time, -0000 is used as zone. # def rfc2822 - sprintf('%s, %02d %s %d %02d:%02d:%02d ', + sprintf('%s, %02d %s %04d %02d:%02d:%02d ', RFC2822_DAY_NAME[wday], day, RFC2822_MONTH_NAME[mon-1], year, hour, min, sec) + @@ -477,7 +477,7 @@ # def httpdate t = dup.utc - sprintf('%s, %02d %s %d %02d:%02d:%02d GMT', + sprintf('%s, %02d %s %04d %02d:%02d:%02d GMT', RFC2822_DAY_NAME[t.wday], t.day, RFC2822_MONTH_NAME[t.mon-1], t.year, t.hour, t.min, t.sec) @@ -498,7 +498,7 @@ # Its default value is 0. # def xmlschema(fraction_digits=0) - sprintf('%d-%02d-%02dT%02d:%02d:%02d', + sprintf('%04d-%02d-%02dT%02d:%02d:%02d', year, mon, day, hour, min, sec) + if fraction_digits == 0 '' Index: test/test_time.rb =================================================================== --- test/test_time.rb (revision 23250) +++ test/test_time.rb (revision 23251) @@ -45,6 +45,11 @@ } end + def test_encode_rfc2822 + t = Time.utc(1) + assert_equal("Mon, 01 Jan 0001 00:00:00 -0000", t.rfc2822) + end + def test_rfc2616 t = Time.utc(1994, 11, 6, 8, 49, 37) assert_equal(t, Time.httpdate("Sun, 06 Nov 1994 08:49:37 GMT")) @@ -69,6 +74,11 @@ Time.httpdate('Sunday, 23-Dec-07 11:22:33 GMT')) end + def test_encode_httpdate + t = Time.utc(1) + assert_equal("Mon, 01 Jan 0001 00:00:00 GMT", t.httpdate) + end + def test_rfc3339 t = Time.utc(1985, 4, 12, 23, 20, 50, 520000) s = "1985-04-12T23:20:50.52Z" @@ -165,6 +175,9 @@ assert_equal("1970-01-01T09:00:00.0123456789012345678+09:00", t.xmlschema(19)) assert_equal("1970-01-01T09:00:00.01234567890123456789+09:00", t.xmlschema(20)) + t = Time.utc(1) + assert_equal("0001-01-01T00:00:00Z", t.xmlschema) + begin Time.at(-1) rescue ArgumentError -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/