aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2014-08-17 12:52:54 -0700
committerDavid Heinemeier Hansson <david@loudthinking.com>2014-08-17 12:52:54 -0700
commit9f6e82ee4783e491c20f5244a613fdeb4024beb5 (patch)
treec6a933f829e2df666aefeb3150681790f3490565 /activesupport/test
parent88d27ae9181151f448f39298adce9d1b7401a376 (diff)
downloadrails-9f6e82ee4783e491c20f5244a613fdeb4024beb5.tar.gz
rails-9f6e82ee4783e491c20f5244a613fdeb4024beb5.tar.bz2
rails-9f6e82ee4783e491c20f5244a613fdeb4024beb5.zip
Fix rounding errors with #travel_to by resetting the usec on any passed time to zero, so we only travel with per-second precision, not anything deeper than that.
Diffstat (limited to 'activesupport/test')
-rw-r--r--activesupport/test/test_test.rb13
1 files changed, 10 insertions, 3 deletions
diff --git a/activesupport/test/test_test.rb b/activesupport/test/test_test.rb
index 6f63a8a725..b74bc9bf20 100644
--- a/activesupport/test/test_test.rb
+++ b/activesupport/test/test_test.rb
@@ -188,7 +188,7 @@ class TimeHelperTest < ActiveSupport::TestCase
expected_time = Time.now + 1.day
travel 1.day
- assert_equal expected_time, Time.now
+ assert_equal expected_time.to_s(:db), Time.now.to_s(:db)
assert_equal expected_time.to_date, Date.today
end
@@ -196,11 +196,11 @@ class TimeHelperTest < ActiveSupport::TestCase
expected_time = Time.now + 1.day
travel 1.day do
- assert_equal expected_time, Time.now
+ assert_equal expected_time.to_s(:db), Time.now.to_s(:db)
assert_equal expected_time.to_date, Date.today
end
- assert_not_equal expected_time, Time.now
+ assert_not_equal expected_time.to_s(:db), Time.now.to_s(:db)
assert_not_equal expected_time.to_date, Date.today
end
@@ -235,4 +235,11 @@ class TimeHelperTest < ActiveSupport::TestCase
assert_not_equal expected_time, Time.now
assert_not_equal Date.new(2004, 11, 24), Date.today
end
+
+ def test_travel_to_will_reset_the_usec_to_avoid_mysql_rouding
+ travel_to Time.utc(2014, 10, 10, 10, 10, 50, 999999) do
+ assert_equal 50, Time.now.sec
+ assert_equal 0, Time.now.usec
+ end
+ end
end