diff options
Diffstat (limited to 'spec/ruby/core/time/new_spec.rb')
-rw-r--r-- | spec/ruby/core/time/new_spec.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/spec/ruby/core/time/new_spec.rb b/spec/ruby/core/time/new_spec.rb index e0218a2572..eced8a75fb 100644 --- a/spec/ruby/core/time/new_spec.rb +++ b/spec/ruby/core/time/new_spec.rb @@ -49,6 +49,14 @@ describe "Time.new with a utc_offset argument" do Time.new(2000, 1, 1, 0, 0, 0, "-04:10").utc_offset.should == -15000 end + it "returns a Time with a UTC offset specified as +HH:MM:SS" do + Time.new(2000, 1, 1, 0, 0, 0, "+05:30:37").utc_offset.should == 19837 + end + + it "returns a Time with a UTC offset specified as -HH:MM" do + Time.new(2000, 1, 1, 0, 0, 0, "-04:10:43").utc_offset.should == -15043 + end + describe "with an argument that responds to #to_str" do it "coerces using #to_str" do o = mock('string') @@ -96,6 +104,14 @@ describe "Time.new with a utc_offset argument" do Time.new(2000, 1, 1, 0, 0, 0, 86400 - 1).utc_offset.should == (86400 - 1) lambda { Time.new(2000, 1, 1, 0, 0, 0, 86400) }.should raise_error(ArgumentError) end + + it "raises ArgumentError if the seconds argument is negative" do + lambda { Time.new(2000, 1, 1, 0, 0, -1) }.should raise_error(ArgumentError) + end + + it "raises ArgumentError if the utc_offset argument is greater than or equal to 10e9" do + lambda { Time.new(2000, 1, 1, 0, 0, 0, 1000000000) }.should raise_error(ArgumentError) + end end ruby_version_is "2.6" do |