diff options
author | Andrew White <andrew.white@unboxed.co> | 2017-04-14 18:04:13 +0100 |
---|---|---|
committer | Andrew White <andrew.white@unboxed.co> | 2017-04-14 18:04:13 +0100 |
commit | 851b7f866e13518d900407c78dcd6eb477afad06 (patch) | |
tree | 494d14bc15c7019a5ab55e5ea6fbe590e192be77 /activesupport/test/core_ext/time_ext_test.rb | |
parent | 5e22cd3c76ca03b7a954556f636bdc28b976275d (diff) | |
download | rails-851b7f866e13518d900407c78dcd6eb477afad06.tar.gz rails-851b7f866e13518d900407c78dcd6eb477afad06.tar.bz2 rails-851b7f866e13518d900407c78dcd6eb477afad06.zip |
Add additional options to time `change` methods
Support `:offset` in `Time#change` and `:zone` or `:offset`
in `ActiveSupport::TimeWithZone#change`.
Fixes #28723.
Diffstat (limited to 'activesupport/test/core_ext/time_ext_test.rb')
-rw-r--r-- | activesupport/test/core_ext/time_ext_test.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/time_ext_test.rb b/activesupport/test/core_ext/time_ext_test.rb index bd644c8457..625a5bffb8 100644 --- a/activesupport/test/core_ext/time_ext_test.rb +++ b/activesupport/test/core_ext/time_ext_test.rb @@ -433,6 +433,13 @@ class TimeExtCalculationsTest < ActiveSupport::TestCase assert_raise(ArgumentError) { Time.new(2005, 2, 22, 15, 15, 45, "-08:00").change(nsec: 1000000000) } end + def test_change_offset + assert_equal Time.new(2006, 2, 22, 15, 15, 10, "-08:00"), Time.new(2006, 2, 22, 15, 15, 10, "+01:00").change(offset: "-08:00") + assert_equal Time.new(2006, 2, 22, 15, 15, 10, -28800), Time.new(2006, 2, 22, 15, 15, 10, 3600).change(offset: -28800) + assert_raise(ArgumentError) { Time.new(2005, 2, 22, 15, 15, 45, "+01:00").change(usec: 1000000, offset: "-08:00") } + assert_raise(ArgumentError) { Time.new(2005, 2, 22, 15, 15, 45, "+01:00").change(nsec: 1000000000, offset: -28800) } + end + def test_advance assert_equal Time.local(2006, 2, 28, 15, 15, 10), Time.local(2005, 2, 28, 15, 15, 10).advance(years: 1) assert_equal Time.local(2005, 6, 28, 15, 15, 10), Time.local(2005, 2, 28, 15, 15, 10).advance(months: 4) |