diff options
author | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-27 21:18:20 +0000 |
---|---|---|
committer | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-27 21:18:20 +0000 |
commit | 74f14d6921ed491bf2d8057c1e10c2d8c4481bb9 (patch) | |
tree | 7eb428057bb47231ca65d2b2168b9c986d3fbfa9 /spec/ruby/core | |
parent | a34db218ade33b79e7404488db5a15bad2841c25 (diff) | |
download | ruby-74f14d6921ed491bf2d8057c1e10c2d8c4481bb9.tar.gz |
Update to ruby/spec@b95d7ed
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec/ruby/core')
-rw-r--r-- | spec/ruby/core/time/shared/gm.rb | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/spec/ruby/core/time/shared/gm.rb b/spec/ruby/core/time/shared/gm.rb index eaea374902..0ee602c837 100644 --- a/spec/ruby/core/time/shared/gm.rb +++ b/spec/ruby/core/time/shared/gm.rb @@ -27,8 +27,12 @@ describe :time_gm, shared: true do time.nsec.should == 999 end - platform_is :linux do - it "handles real leap seconds" do + guard -> { + with_timezone 'right/UTC' do + (Time.gm(1972, 6, 30, 23, 59, 59) + 1).sec == 60 + end + } do + it "handles real leap seconds in zone 'right/UTC'" do with_timezone 'right/UTC' do time = Time.send(@method, 1972, 6, 30, 23, 59, 60) @@ -39,17 +43,28 @@ describe :time_gm, shared: true do time.month.should == 6 end end + end - it "handles bad leap seconds by carrying values forward" do - with_timezone 'UTC' do - time = Time.send(@method, 1972, 6, 30, 23, 59, 60) + it "handles bad leap seconds by carrying values forward" do + with_timezone 'UTC' do + time = Time.send(@method, 2017, 7, 5, 23, 59, 60) + time.sec.should == 0 + time.min.should == 0 + time.hour.should == 0 + time.day.should == 6 + time.month.should == 7 + end + end - time.sec.should == 0 - time.min.should == 0 - time.hour.should == 0 - time.day.should == 1 - time.month.should == 7 - end + it "handles a value of 60 for seconds by carrying values forward in zone 'UTC'" do + with_timezone 'UTC' do + time = Time.send(@method, 1972, 6, 30, 23, 59, 60) + + time.sec.should == 0 + time.min.should == 0 + time.hour.should == 0 + time.day.should == 1 + time.month.should == 7 end end end |