ruby-changes:5645
From: akr <ko1@a...>
Date: Fri, 13 Jun 2008 23:08:49 +0900 (JST)
Subject: [ruby-changes:5645] Ruby:r17152 (ruby_1_8): * lib/time.rb (Time.xmlschema): don't accept decimal dot
akr 2008-06-13 23:08:38 +0900 (Fri, 13 Jun 2008) New Revision: 17152 Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/lib/time.rb Log: * lib/time.rb (Time.xmlschema): don't accept decimal dot without fractional digits. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=17152&r2=17151&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/lib/time.rb?r1=17152&r2=17151&diff_format=u Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 17151) +++ ruby_1_8/ChangeLog (revision 17152) @@ -1,3 +1,8 @@ +Fri Jun 13 23:08:02 2008 Tanaka Akira <akr@f...> + + * lib/time.rb (Time.xmlschema): don't accept decimal dot + without fractional digits. + Fri Jun 13 14:24:37 2008 Nobuyoshi Nakada <nobu@r...> * gc.c (rb_memerror): exit with EXIT_FAILURE instead of magic number. Index: ruby_1_8/lib/time.rb =================================================================== --- ruby_1_8/lib/time.rb (revision 17151) +++ ruby_1_8/lib/time.rb (revision 17152) @@ -353,7 +353,7 @@ (-?\d+)-(\d\d)-(\d\d) T (\d\d):(\d\d):(\d\d) - (\.\d*)? + (\.\d+)? (Z|[+-]\d\d:\d\d)? \s*\z/ix =~ date year = $1.to_i @@ -528,6 +528,9 @@ Time.httpdate("Tue, 15 Nov 1994 12:45:26 GMT")) assert_equal(Time.utc(1999, 12, 31, 23, 59, 59), Time.httpdate("Fri, 31 Dec 1999 23:59:59 GMT")) + + assert_equal(Time.utc(2007, 12, 23, 11, 22, 33), + Time.httpdate('Sunday, 23-Dec-07 11:22:33 GMT')) end def test_rfc3339 @@ -598,6 +601,7 @@ Time.xmlschema("2000-01-12T12:13:14Z")) assert_equal(Time.utc(2001, 4, 17, 19, 23, 17, 300000), Time.xmlschema("2001-04-17T19:23:17.3Z")) + assert_raise(ArgumentError) { Time.xmlschema("2000-01-01T00:00:00.+00:00") } end def test_encode_xmlschema @@ -786,6 +790,10 @@ assert_equal(t, Time.xmlschema("1998-12-31T23:00:00-01:00")) end + def test_xmlschema_fraction + assert_equal(500000, Time.xmlschema("2000-01-01T00:00:00.5+00:00").tv_usec) + end + def test_ruby_talk_152866 t = Time::xmlschema('2005-08-30T22:48:00-07:00') assert_equal(31, t.day) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/