diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/date/test_date_parse.rb | 48 | ||||
-rw-r--r-- | test/date/test_switch_hitter.rb | 8 |
2 files changed, 54 insertions, 2 deletions
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 |