aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2014-05-14 22:33:03 +0930
committerMatthew Draper <matthew@trebex.net>2014-05-14 22:33:03 +0930
commit307a519d82a5870e4cff26338bb04272fbe7ab50 (patch)
tree11de776c60ea3f582ff3452a7f511453457e0a57 /activerecord/test
parent374d19a743f8b698ecb6d8d23d31dcf4325ddbcf (diff)
parent6de710d6648e451ef47e9215172901e8d736ba0c (diff)
downloadrails-307a519d82a5870e4cff26338bb04272fbe7ab50.tar.gz
rails-307a519d82a5870e4cff26338bb04272fbe7ab50.tar.bz2
rails-307a519d82a5870e4cff26338bb04272fbe7ab50.zip
Merge pull request #14833 from jyao6/attribute_inheritance
Fixed Attribute Inheritance Issue
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/store_test.rb16
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