Skip to content
This repository
Browse code

Anchor DateTimeTest to fixed DateTime instead of a variable value bas…

…ed on Time.now#advance#to_datetime. Works around issue on 64-bit platforms with Ruby's Time#to_datetime respecting fractional seconds, and database adapters not respecting them for DateTimes, throwing off before-and-after-save equality test. References #10080, #10073

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8326 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit 2766f7629f318f0f7dadf2286113504113fef562 1 parent 731ecec
Geoff Buesing authored December 07, 2007
2  activerecord/CHANGELOG
... ...
@@ -1,5 +1,7 @@
1 1
 *2.0.0* (December 6th, 2007)
2 2
 
  3
+* Anchor DateTimeTest to fixed DateTime instead of a variable value based on Time.now#advance#to_datetime, so that this test passes on 64-bit platforms running Ruby 1.8.6+ [Geoff Buesing]
  4
+
3 5
 * Fixed that the Query Cache should just be ignored if the database is misconfigured (so that the "About your applications environment" works even before the database has been created) [DHH]
4 6
 
5 7
 * Fixed that the truncation of strings longer than 50 chars should use inspect so newlines etc are escaped #10385 [norbert]
8  activerecord/test/date_time_test.rb
@@ -4,13 +4,15 @@
4 4
 
5 5
 class DateTimeTest < Test::Unit::TestCase
6 6
   def test_saves_both_date_and_time
7  
-    now = 200.years.ago.to_datetime
  7
+    time_values = [1807, 2, 10, 15, 30, 45]
  8
+    now = DateTime.civil(*time_values)
8 9
 
9 10
     task = Task.new
10 11
     task.starting = now
11 12
     task.save!
12  
-
13  
-    assert_equal now, Task.find(task.id).starting.to_datetime
  13
+    
  14
+    # check against Time.local_time, since some platforms will return a Time instead of a DateTime
  15
+    assert_equal Time.local_time(*time_values), Task.find(task.id).starting
14 16
   end
15 17
 
16 18
   def test_assign_empty_date_time

0 notes on commit 2766f76

Please sign in to comment.
Something went wrong with that request. Please try again.