1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Merge pull request #26839 from renuo/fix-missing-nsec-transfer

Fix copy_time_to: Copy nsec instead of usec
This commit is contained in:
Andrew White 2016-10-21 07:03:32 +01:00 committed by GitHub
commit f2c6db41ba
3 changed files with 10 additions and 2 deletions

View file

@ -1,3 +1,9 @@
* Fix `DateAndTime::Calculations#copy_time_to`. Copy `nsec` instead of `usec`.
Jumping forward or backward between weeks now preserves nanosecond digits.
*Josua Schmid*
* Fix `ActiveSupport::TimeWithZone#in` across DST boundaries.
Previously calls to `in` were being sent to the non-DST aware

View file

@ -334,7 +334,7 @@ module DateAndTime
end
def copy_time_to(other)
other.change(hour: hour, min: min, sec: sec, usec: try(:usec))
other.change(hour: hour, min: min, sec: sec, nsec: try(:nsec))
end
end
end

View file

@ -126,7 +126,9 @@ module DateAndTimeBehavior
end
def test_next_week_at_same_time
assert_equal date_time_init(2005,2,28,15,15,10), date_time_init(2005,2,22,15,15,10).next_week(:monday, same_time: true)
assert_equal date_time_init(2005,2,28,15,15,10), date_time_init(2005,2,22,15,15,10).next_week(:monday, same_time: true)
assert_equal date_time_init(2005,2,28,15,15,10,999999), date_time_init(2005,2,22,15,15,10,999999).next_week(:monday, same_time: true)
assert_equal date_time_init(2005,2,28,15,15,10,Rational(999999999, 1000)), date_time_init(2005,2,22,15,15,10,Rational(999999999, 1000)).next_week(:monday, same_time: true)
assert_equal date_time_init(2005,3,4,15,15,10), date_time_init(2005,2,22,15,15,10).next_week(:friday, same_time: true)
assert_equal date_time_init(2006,10,30,0,0,0), date_time_init(2006,10,23,0,0,0).next_week(:monday, same_time: true)
assert_equal date_time_init(2006,11,1,0,0,0), date_time_init(2006,10,23,0,0,0).next_week(:wednesday, same_time: true)