aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/time_ext_test.rb
diff options
context:
space:
mode:
authorNeer Friedman <neerfri@gmail.com>2013-07-07 17:38:09 +0300
committerAndrew White <andyw@pixeltrix.co.uk>2013-07-09 13:43:56 +0100
commit484253515c0e05760541dc48946361185c9e6904 (patch)
treedc0f23aa9691c93c03643d5aa5c0e429e9a2e77b /activesupport/test/core_ext/time_ext_test.rb
parent1a6eb1e5609cbd9cb3904dcc06faa98a14d218f2 (diff)
downloadrails-484253515c0e05760541dc48946361185c9e6904.tar.gz
rails-484253515c0e05760541dc48946361185c9e6904.tar.bz2
rails-484253515c0e05760541dc48946361185c9e6904.zip
Fix microsecond precision of Time#at_with_coercion
When Time.at_with_coercion (wraps Time.at) is called with a single argument that "acts_like?(:time)" it is coerced to integer thus losing it's microsecond percision. This commits changes this to use `#to_f` to prevent the problem
Diffstat (limited to 'activesupport/test/core_ext/time_ext_test.rb')
-rw-r--r--activesupport/test/core_ext/time_ext_test.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/time_ext_test.rb b/activesupport/test/core_ext/time_ext_test.rb
index d43cf41201..1681702bda 100644
--- a/activesupport/test/core_ext/time_ext_test.rb
+++ b/activesupport/test/core_ext/time_ext_test.rb
@@ -711,6 +711,10 @@ class TimeExtCalculationsTest < ActiveSupport::TestCase
end
end
+ def test_at_with_time_microsecond_precision
+ assert_equal Time.at(Time.utc(2000, 1, 1, 0, 0, 0, 111)).to_f, Time.utc(2000, 1, 1, 0, 0, 0, 111).to_f
+ end
+
def test_eql?
assert_equal true, Time.utc(2000).eql?( ActiveSupport::TimeWithZone.new(Time.utc(2000), ActiveSupport::TimeZone['UTC']) )
assert_equal true, Time.utc(2000).eql?( ActiveSupport::TimeWithZone.new(Time.utc(2000), ActiveSupport::TimeZone["Hawaii"]) )