diff options
author | Jessica Yao <jyao@college.harvard.edu> | 2014-04-21 18:08:54 -0400 |
---|---|---|
committer | Matthew Draper <matthew@trebex.net> | 2014-05-14 22:32:13 +0930 |
commit | 6de710d6648e451ef47e9215172901e8d736ba0c (patch) | |
tree | 11de776c60ea3f582ff3452a7f511453457e0a57 /activerecord/test | |
parent | 374d19a743f8b698ecb6d8d23d31dcf4325ddbcf (diff) | |
download | rails-6de710d6648e451ef47e9215172901e8d736ba0c.tar.gz rails-6de710d6648e451ef47e9215172901e8d736ba0c.tar.bz2 rails-6de710d6648e451ef47e9215172901e8d736ba0c.zip |
Fix inheritance of stored_attributes (fixes #14672)
[Brad Bennett, Jessica Yao, & Lakshmi Parthasarathy]
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/store_test.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/activerecord/test/cases/store_test.rb b/activerecord/test/cases/store_test.rb index 978cee9cfb..6a34c55011 100644 --- a/activerecord/test/cases/store_test.rb +++ b/activerecord/test/cases/store_test.rb @@ -163,6 +163,22 @@ class StoreTest < ActiveRecord::TestCase assert_equal [:width, :height], second_model.stored_attributes[:data] end + test "stored_attributes are tracked per subclass" do + first_model = Class.new(ActiveRecord::Base) do + store_accessor :data, :color + end + second_model = Class.new(first_model) do + store_accessor :data, :width, :height + end + third_model = Class.new(first_model) do + store_accessor :data, :area, :volume + end + + assert_equal [:color], first_model.stored_attributes[:data] + assert_equal [:color, :width, :height], second_model.stored_attributes[:data] + assert_equal [:color, :area, :volume], third_model.stored_attributes[:data] + end + test "YAML coder initializes the store when a Nil value is given" do assert_equal({}, @john.params) end |