Fix Numeric time tests broken by DST change by anchoring them to fixed times instead of Time.now. Anchor TimeZone#now DST test to time specified with Time.at instead of Time.local to work around platform differences with Time.local and DST representation

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9009 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Geoff Buesing
2008-03-11 07:19:36 +00:00
parent 3af5b27839
commit 5483de0cc3
3 changed files with 6 additions and 4 deletions

View File

@@ -1,5 +1,7 @@
*SVN*
* Fix Numeric time tests broken by DST change by anchoring them to fixed times instead of Time.now. Anchor TimeZone#now DST test to time specified with Time.at instead of Time.local to work around platform differences with Time.local and DST representation [Geoff Buesing]
* Removing unneeded #change_time_zone method from Time, DateTime and TimeWithZone [Geoff Buesing]
* TimeZone #local and #now correctly enforce DST rules [Geoff Buesing]

View File

@@ -2,8 +2,8 @@ require 'abstract_unit'
class NumericExtTimeAndDateTimeTest < Test::Unit::TestCase
def setup
@now = Time.now
@dtnow = DateTime.now
@now = Time.local(2005,2,10,15,30,45)
@dtnow = DateTime.civil(2005,2,10,15,30,45)
@seconds = {
1.minute => 60,
10.minutes => 600,

View File

@@ -83,9 +83,9 @@ class TimeZoneTest < Test::Unit::TestCase
def test_now_enforces_fall_dst_rules
with_env_tz 'US/Eastern' do
Time.stubs(:now).returns(Time.local(2006,10,29,1)) # 1AM is ambiguous; could be DST or non-DST 1AM
Time.stubs(:now).returns(Time.at(1162098000)) # equivalent to 1AM DST
zone = TimeZone['Eastern Time (US & Canada)']
assert_equal Time.utc(2006,10,29,1), zone.now.time # selects DST 1AM
assert_equal Time.utc(2006,10,29,1), zone.now.time
assert_equal true, zone.now.dst?
end
end