diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2008-04-13 17:28:14 -0500 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2008-04-13 17:28:14 -0500 |
commit | be7fd8168aa4776dccfe2e670cb9451204449dd4 (patch) | |
tree | dd0f9e7d7dca2899449fa9c2faa240bc5f803e64 /activesupport/test | |
parent | 342dcfe789d11e07f89d4ddfc3dc581da650a65e (diff) | |
parent | 9620372a6dc7eeebdb04f1fdb7f150d29e60fc00 (diff) | |
download | rails-be7fd8168aa4776dccfe2e670cb9451204449dd4.tar.gz rails-be7fd8168aa4776dccfe2e670cb9451204449dd4.tar.bz2 rails-be7fd8168aa4776dccfe2e670cb9451204449dd4.zip |
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'activesupport/test')
-rw-r--r-- | activesupport/test/core_ext/date_time_ext_test.rb | 1 | ||||
-rw-r--r-- | activesupport/test/core_ext/time_ext_test.rb | 55 | ||||
-rw-r--r-- | activesupport/test/core_ext/time_with_zone_test.rb | 7 |
3 files changed, 61 insertions, 2 deletions
diff --git a/activesupport/test/core_ext/date_time_ext_test.rb b/activesupport/test/core_ext/date_time_ext_test.rb index 25a8e878f9..ed45daf403 100644 --- a/activesupport/test/core_ext/date_time_ext_test.rb +++ b/activesupport/test/core_ext/date_time_ext_test.rb @@ -240,6 +240,7 @@ class DateTimeExtCalculationsTest < Test::Unit::TestCase assert_equal DateTime.civil(2005, 2, 21, 15, 11, 12, 0), DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-5, 24)).utc assert_equal DateTime.civil(2005, 2, 21, 10, 11, 12, 0), DateTime.civil(2005, 2, 21, 10, 11, 12, 0).utc assert_equal DateTime.civil(2005, 2, 21, 9, 11, 12, 0), DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(1, 24)).utc + assert_equal DateTime.civil(2005, 2, 21, 9, 11, 12, 0), DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(1, 24)).getutc end def test_formatted_offset_with_utc diff --git a/activesupport/test/core_ext/time_ext_test.rb b/activesupport/test/core_ext/time_ext_test.rb index d1d92964c3..e53b7193ea 100644 --- a/activesupport/test/core_ext/time_ext_test.rb +++ b/activesupport/test/core_ext/time_ext_test.rb @@ -205,6 +205,31 @@ class TimeExtCalculationsTest < Test::Unit::TestCase end end + def test_daylight_savings_time_crossings_backward_start_1day + with_env_tz 'US/Eastern' do + # dt: US: 2005 April 3rd 4:18am + assert_equal Time.local(2005,4,2,4,18,0), Time.local(2005,4,3,4,18,0).ago(1.day), 'dt-1.day=>st' + assert_equal Time.local(2005,4,1,4,18,0), Time.local(2005,4,2,4,18,0).ago(1.day), 'st-1.day=>st' + end + with_env_tz 'NZ' do + # dt: New Zealand: 2006 October 1st 4:18am + assert_equal Time.local(2006,9,30,4,18,0), Time.local(2006,10,1,4,18,0).ago(1.day), 'dt-1.day=>st' + assert_equal Time.local(2006,9,29,4,18,0), Time.local(2006,9,30,4,18,0).ago(1.day), 'st-1.day=>st' + end + end + + def test_daylight_savings_time_crossings_backward_end_1day + with_env_tz 'US/Eastern' do + # st: US: 2005 October 30th 4:03am + assert_equal Time.local(2005,10,29,4,3), Time.local(2005,10,30,4,3,0).ago(1.day), 'st-1.day=>dt' + assert_equal Time.local(2005,10,28,4,3), Time.local(2005,10,29,4,3,0).ago(1.day), 'dt-1.day=>dt' + end + with_env_tz 'NZ' do + # st: New Zealand: 2006 March 19th 4:03am + assert_equal Time.local(2006,3,18,4,3), Time.local(2006,3,19,4,3,0).ago(1.day), 'st-1.day=>dt' + assert_equal Time.local(2006,3,17,4,3), Time.local(2006,3,18,4,3,0).ago(1.day), 'dt-1.day=>dt' + end + end def test_since assert_equal Time.local(2005,2,22,10,10,11), Time.local(2005,2,22,10,10,10).since(1) assert_equal Time.local(2005,2,22,11,10,10), Time.local(2005,2,22,10,10,10).since(3600) @@ -227,6 +252,19 @@ class TimeExtCalculationsTest < Test::Unit::TestCase end end + def test_daylight_savings_time_crossings_forward_start_1day + with_env_tz 'US/Eastern' do + # st: US: 2005 April 2nd 7:27pm + assert_equal Time.local(2005,4,3,19,27,0), Time.local(2005,4,2,19,27,0).since(1.day), 'st+1.day=>dt' + assert_equal Time.local(2005,4,4,19,27,0), Time.local(2005,4,3,19,27,0).since(1.day), 'dt+1.day=>dt' + end + with_env_tz 'NZ' do + # st: New Zealand: 2006 September 30th 7:27pm + assert_equal Time.local(2006,10,1,19,27,0), Time.local(2006,9,30,19,27,0).since(1.day), 'st+1.day=>dt' + assert_equal Time.local(2006,10,2,19,27,0), Time.local(2006,10,1,19,27,0).since(1.day), 'dt+1.day=>dt' + end + end + def test_daylight_savings_time_crossings_forward_start_tomorrow with_env_tz 'US/Eastern' do # st: US: 2005 April 2nd 7:27pm @@ -240,7 +278,7 @@ class TimeExtCalculationsTest < Test::Unit::TestCase end end - def test_daylight_savings_time_crossings_forward_start_yesterday + def test_daylight_savings_time_crossings_backward_start_yesterday with_env_tz 'US/Eastern' do # st: US: 2005 April 2nd 7:27pm assert_equal Time.local(2005,4,2,19,27,0), Time.local(2005,4,3,19,27,0).yesterday, 'dt-1.day=>st' @@ -266,6 +304,19 @@ class TimeExtCalculationsTest < Test::Unit::TestCase end end + def test_daylight_savings_time_crossings_forward_end_1day + with_env_tz 'US/Eastern' do + # dt: US: 2005 October 30th 12:45am + assert_equal Time.local(2005,10,31,0,45,0), Time.local(2005,10,30,0,45,0).since(1.day), 'dt+1.day=>st' + assert_equal Time.local(2005,11, 1,0,45,0), Time.local(2005,10,31,0,45,0).since(1.day), 'st+1.day=>st' + end + with_env_tz 'NZ' do + # dt: New Zealand: 2006 March 19th 1:45am + assert_equal Time.local(2006,3,20,1,45,0), Time.local(2006,3,19,1,45,0).since(1.day), 'dt+1.day=>st' + assert_equal Time.local(2006,3,21,1,45,0), Time.local(2006,3,20,1,45,0).since(1.day), 'st+1.day=>st' + end + end + def test_daylight_savings_time_crossings_forward_end_tomorrow with_env_tz 'US/Eastern' do # dt: US: 2005 October 30th 12:45am @@ -279,7 +330,7 @@ class TimeExtCalculationsTest < Test::Unit::TestCase end end - def test_daylight_savings_time_crossings_forward_end_yesterday + def test_daylight_savings_time_crossings_backward_end_yesterday with_env_tz 'US/Eastern' do # dt: US: 2005 October 30th 12:45am assert_equal Time.local(2005,10,30,0,45,0), Time.local(2005,10,31,0,45,0).yesterday, 'st-1.day=>dt' diff --git a/activesupport/test/core_ext/time_with_zone_test.rb b/activesupport/test/core_ext/time_with_zone_test.rb index 5cebfae583..efab8a24c8 100644 --- a/activesupport/test/core_ext/time_with_zone_test.rb +++ b/activesupport/test/core_ext/time_with_zone_test.rb @@ -67,6 +67,13 @@ class TimeWithZoneTest < Test::Unit::TestCase assert_equal "\"1999/12/31 19:00:00 -0500\"", @twz.to_json end end + + def test_to_json_with_use_standard_json_time_format_config_set_to_true + old, ActiveSupport.use_standard_json_time_format = ActiveSupport.use_standard_json_time_format, true + assert_equal "\"2000-01-01T00:00:00Z\"", @twz.to_json + ensure + ActiveSupport.use_standard_json_time_format = old + end def test_strftime silence_warnings do # silence warnings raised by tzinfo gem |