aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorgbuesing <gbuesing@gmail.com>2008-09-14 18:16:50 -0500
committergbuesing <gbuesing@gmail.com>2008-09-14 18:16:50 -0500
commitd95943b276d52c5bc4f033e532376667badbad9f (patch)
treeee46cc372920fa72c4014f8f6860181bc4ea04f1 /activerecord/test
parent9c4730d01e892df8d5c5493a08e0cddf0de5d575 (diff)
downloadrails-d95943b276d52c5bc4f033e532376667badbad9f.tar.gz
rails-d95943b276d52c5bc4f033e532376667badbad9f.tar.bz2
rails-d95943b276d52c5bc4f033e532376667badbad9f.zip
Multiparameter attributes skip time zone conversion for time-only columns [#1030 state:resolved]
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/base_test.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index bda6f346f0..aebcca634c 100644
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -1084,6 +1084,24 @@ class BasicsTest < ActiveRecord::TestCase
Time.zone = nil
Topic.skip_time_zone_conversion_for_attributes = []
end
+
+ def test_multiparameter_attributes_on_time_only_column_with_time_zone_aware_attributes_does_not_do_time_zone_conversion
+ ActiveRecord::Base.time_zone_aware_attributes = true
+ ActiveRecord::Base.default_timezone = :utc
+ Time.zone = ActiveSupport::TimeZone[-28800]
+ attributes = {
+ "bonus_time(1i)" => "2000", "bonus_time(2i)" => "1", "bonus_time(3i)" => "1",
+ "bonus_time(4i)" => "16", "bonus_time(5i)" => "24"
+ }
+ topic = Topic.find(1)
+ topic.attributes = attributes
+ assert_equal Time.utc(2000, 1, 1, 16, 24, 0), topic.bonus_time
+ assert topic.bonus_time.utc?
+ ensure
+ ActiveRecord::Base.time_zone_aware_attributes = false
+ ActiveRecord::Base.default_timezone = :local
+ Time.zone = nil
+ end
def test_multiparameter_attributes_on_time_with_empty_seconds
attributes = {