diff options
author | Francis Irving <francis@mysociety.org> | 2009-12-03 13:22:55 +0000 |
---|---|---|
committer | Francis Irving <francis@mysociety.org> | 2009-12-03 13:22:55 +0000 |
commit | 2eabd0bf1d5c3d0cfa0f2883f6cfd65298ef4cd1 (patch) | |
tree | ce915296612a14789c43e1026b85a2b37a454654 /spec/libs/timezone_fixes.rb | |
parent | 1053556b7c12d757f2e654266a855609658b2964 (diff) |
Rename spec files to libs, and to end _spec
Diffstat (limited to 'spec/libs/timezone_fixes.rb')
-rw-r--r-- | spec/libs/timezone_fixes.rb | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/spec/libs/timezone_fixes.rb b/spec/libs/timezone_fixes.rb deleted file mode 100644 index 9ceb58a13..000000000 --- a/spec/libs/timezone_fixes.rb +++ /dev/null @@ -1,81 +0,0 @@ -# This is a test of the monkey patches in timezone_fixes.rb - -# We use EximLogDone here just as a totally random model that has a datetime type. - -require File.dirname(__FILE__) + '/../spec_helper' - -describe "when doing things with timezones" do - - it "should preserve time objects with local time conversion to default timezone UTC" do - with_env_tz 'America/New_York' do - with_active_record_default_timezone :utc do - time = Time.local(2000) - exim_log_done = EximLogDone.create('last_stat' => time, 'filename' => 'dummy') - saved_time = EximLogDone.find(exim_log_done.id).last_stat - assert_equal time, saved_time - assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "EST"], time.to_a - assert_equal [0, 0, 5, 1, 1, 2000, 6, 1, false, "UTC"], saved_time.to_a - end - end - end - - it "should preserve time objects with time with zone conversion to default timezone UTC" do - with_env_tz 'America/New_York' do - with_active_record_default_timezone :utc do - Time.use_zone 'Central Time (US & Canada)' do - time = Time.zone.local(2000) - exim_log_done = EximLogDone.create('last_stat' => time, 'filename' => 'dummy') - saved_time = EximLogDone.find(exim_log_done.id).last_stat - assert_equal time, saved_time - assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "CST"], time.to_a - assert_equal [0, 0, 6, 1, 1, 2000, 6, 1, false, "UTC"], saved_time.to_a - end - end - end - end - - # XXX Couldn't get this test to work - but the other tests seem to detect presence of - # the monkey patch, so they will do for now. - #it "should preserve time objects with UTC time conversion to default timezone local" do - # with_env_tz 'America/New_York' do - # time = Time.utc(2000) - # exim_log_done = EximLogDone.create('last_stat' => time, 'filename' => 'dummy') - # saved_time = EximLogDone.find(exim_log_done.id).last_stat - # assert_equal time, saved_time - # assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "UTC"], time.to_a - # assert_equal [0, 0, 19, 31, 12, 1999, 5, 365, false, "EST"], saved_time.to_a - # end - #end - - it "should preserve time objects with time with zone conversion to default timezone local" do - with_env_tz 'America/New_York' do - with_active_record_default_timezone :local do - Time.use_zone 'Central Time (US & Canada)' do - time = Time.zone.local(2000) - exim_log_done = EximLogDone.create('last_stat' => time, 'filename' => 'dummy') - saved_time = EximLogDone.find(exim_log_done.id).last_stat - assert_equal time, saved_time - assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "CST"], time.to_a - assert_equal [0, 0, 1, 1, 1, 2000, 6, 1, false, "EST"], saved_time.to_a - end - end - end - end - - protected - def with_env_tz(new_tz = 'US/Eastern') - old_tz, ENV['TZ'] = ENV['TZ'], new_tz - yield - ensure - old_tz ? ENV['TZ'] = old_tz : ENV.delete('TZ') - end - - def with_active_record_default_timezone(zone) - old_zone, ActiveRecord::Base.default_timezone = ActiveRecord::Base.default_timezone, zone - yield - ensure - ActiveRecord::Base.default_timezone = old_zone - end -end - - |