diff options
author | Yves Senn <yves.senn@gmail.com> | 2016-08-08 12:35:29 +0200 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2016-08-08 12:35:29 +0200 |
commit | e9852c92bfa5815c02a33b52f69f12b99578fe29 (patch) | |
tree | 6ba4df4490d8260439637ba12c12822440f1e151 /activesupport/test | |
parent | 628474f2d3330f8a5f14d87153efbed1fcb23e0e (diff) | |
parent | 3529e58efd21697cb5559fe622df8013179625a2 (diff) | |
download | rails-e9852c92bfa5815c02a33b52f69f12b99578fe29.tar.gz rails-e9852c92bfa5815c02a33b52f69f12b99578fe29.tar.bz2 rails-e9852c92bfa5815c02a33b52f69f12b99578fe29.zip |
Merge pull request #25681 from willnet/fix-thread_mattr_accessor
Fix `thread_mattr_accessor` share variable superclass with subclass
Diffstat (limited to 'activesupport/test')
-rw-r--r-- | activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb b/activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb index cda5a34442..b816fa50e3 100644 --- a/activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb +++ b/activesupport/test/core_ext/module/attribute_accessor_per_thread_test.rb @@ -8,6 +8,12 @@ class ModuleAttributeAccessorPerThreadTest < ActiveSupport::TestCase thread_mattr_accessor :bar, instance_writer: false thread_mattr_reader :shaq, instance_reader: false thread_mattr_accessor :camp, instance_accessor: false + + def self.name; "MyClass" end + end + + @subclass = Class.new(@class) do + def self.name; "SubMyClass" end end @object = @class.new @@ -112,4 +118,14 @@ class ModuleAttributeAccessorPerThreadTest < ActiveSupport::TestCase assert_equal @class.foo, @object.foo end + + def test_should_not_affect_superclass_if_subclass_set_value + @class.foo = "super" + assert_equal @class.foo, "super" + assert_nil @subclass.foo + + @subclass.foo = "sub" + assert_equal @class.foo, "super" + assert_equal @subclass.foo, "sub" + end end |