From 614ec73fc8b5d949161c5b277e27719883d62981 Mon Sep 17 00:00:00 2001 From: tadf Date: Tue, 14 Jun 2011 13:52:25 +0000 Subject: * test/date/test_*.rb: added tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ test/date/test_date_parse.rb | 48 +++++++++++++++++++++++++++++++++++++++++ test/date/test_switch_hitter.rb | 8 +++++-- 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 898eb22aeb..b91c86331b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Jun 14 22:51:42 2011 Tadayoshi Funaba + + * test/date/test_*.rb: added tests. + Tue Jun 14 22:09:58 2011 Tadayoshi Funaba * ext/date/date_core.c: renamed some functions. diff --git a/test/date/test_date_parse.rb b/test/date/test_date_parse.rb index 5121e1df31..e443225f7f 100644 --- a/test/date/test_date_parse.rb +++ b/test/date/test_date_parse.rb @@ -980,16 +980,40 @@ class TestDateParse < Test::Unit::TestCase def test_iso8601 assert_instance_of(Date, Date.iso8601) assert_instance_of(DateTime, DateTime.iso8601) + + d = Date.iso8601('2001-02-03', Date::ITALY + 10) + assert_equal(Date.new(2001,2,3), d) + assert_equal(Date::ITALY + 10, d.start) + + d = DateTime.iso8601('2001-02-03T04:05:06+07:00', Date::ITALY + 10) + assert_equal(DateTime.new(2001,2,3,4,5,6,'+07:00'), d) + assert_equal(Date::ITALY + 10, d.start) end def test_rfc3339 assert_instance_of(Date, Date.rfc3339) assert_instance_of(DateTime, DateTime.rfc3339) + + d = Date.rfc3339('2001-02-03T04:05:06+07:00', Date::ITALY + 10) + assert_equal(Date.new(2001,2,3), d) + assert_equal(Date::ITALY + 10, d.start) + + d = DateTime.rfc3339('2001-02-03T04:05:06+07:00', Date::ITALY + 10) + assert_equal(DateTime.new(2001,2,3,4,5,6,'+07:00'), d) + assert_equal(Date::ITALY + 10, d.start) end def test_xmlschema assert_instance_of(Date, Date.xmlschema) assert_instance_of(DateTime, DateTime.xmlschema) + + d = Date.xmlschema('2001-02-03', Date::ITALY + 10) + assert_equal(Date.new(2001,2,3), d) + assert_equal(Date::ITALY + 10, d.start) + + d = DateTime.xmlschema('2001-02-03T04:05:06+07:00', Date::ITALY + 10) + assert_equal(DateTime.new(2001,2,3,4,5,6,'+07:00'), d) + assert_equal(Date::ITALY + 10, d.start) end def test_rfc2822 @@ -997,16 +1021,40 @@ class TestDateParse < Test::Unit::TestCase assert_instance_of(DateTime, DateTime.rfc2822) assert_instance_of(Date, Date.rfc822) assert_instance_of(DateTime, DateTime.rfc822) + + d = Date.rfc2822('Sat, 3 Feb 2001 04:05:06 +0700', Date::ITALY + 10) + assert_equal(Date.new(2001,2,3), d) + assert_equal(Date::ITALY + 10, d.start) + + d = DateTime.rfc2822('Sat, 3 Feb 2001 04:05:06 +0700', Date::ITALY + 10) + assert_equal(DateTime.new(2001,2,3,4,5,6,'+07:00'), d) + assert_equal(Date::ITALY + 10, d.start) end def test_httpdate assert_instance_of(Date, Date.httpdate) assert_instance_of(DateTime, DateTime.httpdate) + + d = Date.httpdate('Sat, 03 Feb 2001 04:05:06 GMT', Date::ITALY + 10) + assert_equal(Date.new(2001,2,3), d) + assert_equal(Date::ITALY + 10, d.start) + + d = DateTime.httpdate('Sat, 03 Feb 2001 04:05:06 GMT', Date::ITALY + 10) + assert_equal(DateTime.new(2001,2,3,4,5,6,'+00:00'), d) + assert_equal(Date::ITALY + 10, d.start) end def test_jisx0301 assert_instance_of(Date, Date.jisx0301) assert_instance_of(DateTime, DateTime.jisx0301) + + d = Date.jisx0301('H13.02.03', Date::ITALY + 10) + assert_equal(Date.new(2001,2,3), d) + assert_equal(Date::ITALY + 10, d.start) + + d = DateTime.jisx0301('H13.02.03T04:05:06+07:00', Date::ITALY + 10) + assert_equal(DateTime.new(2001,2,3,4,5,6,'+07:00'), d) + assert_equal(Date::ITALY + 10, d.start) end end diff --git a/test/date/test_switch_hitter.rb b/test/date/test_switch_hitter.rb index d4603a23df..5ec94fd8e1 100644 --- a/test/date/test_switch_hitter.rb +++ b/test/date/test_switch_hitter.rb @@ -348,11 +348,15 @@ class TestSH < Test::Unit::TestCase def test_marshal s = "\x04\bU:\tDate[\bU:\rRational[\ai\x03\xCF\xD3Ji\ai\x00o:\x13Date::Infinity\x06:\a@di\xFA" d = Marshal.load(s) - assert_equal(Date.new(2001,2,3,Date::GREGORIAN), d) + assert_equal(Rational(4903887,2), d.ajd) + assert_equal(Rational(0,24), d.send(:offset)) + assert_equal(Date::GREGORIAN, d.start) s = "\x04\bU:\rDateTime[\bU:\rRational[\al+\b\xC9\xB0\x81\xBD\x02\x00i\x02\xC0\x12U;\x06[\ai\bi\ro:\x13Date::Infinity\x06:\a@di\xFA" d = Marshal.load(s) - assert_equal(DateTime.new(2001,2,3,4,5,6,Rational(9,24),Date::GREGORIAN), d) + assert_equal(Rational(11769327817,4800), d.ajd) + assert_equal(Rational(9,24), d.offset) + assert_equal(Date::GREGORIAN, d.start) end def test_taint -- cgit v1.2.3