git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10438
e93f8b46-1217-0410-a6f0-
8f06a7374b81
if attribute_present? attr_name
super
else
- h = read_attribute(:others).dup || {}
+ h = (read_attribute(:others) || {}).dup
h.update(attr_name => value)
write_attribute(:others, h)
value
assert up.save
assert_kind_of Hash, up.others
end
+
+ def test_reading_value_from_nil_others_hash
+ up = UserPreference.new(:user => User.new)
+ up.others = nil
+ assert_nil up.others
+ assert_nil up[:foo]
+ end
+
+ def test_writing_value_to_nil_others_hash
+ up = UserPreference.new(:user => User.new)
+ up.others = nil
+ assert_nil up.others
+ up[:foo] = 'bar'
+ assert_equal 'bar', up[:foo]
+ end
end