diff options
Diffstat (limited to 'test/ruby/test_variable.rb')
| -rw-r--r-- | test/ruby/test_variable.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/ruby/test_variable.rb b/test/ruby/test_variable.rb index 68434e0b6c..d4ba0f9fc7 100644 --- a/test/ruby/test_variable.rb +++ b/test/ruby/test_variable.rb @@ -515,6 +515,20 @@ class TestVariable < Test::Unit::TestCase assert_equal 4, instance.instance_variable_get(:@a4), bug21547 end + def test_genivar_cache_free + str = +"hello" + str.instance_variable_set(:@x, :old_value) + + str.instance_variable_get(:@x) # populate cache + + Fiber.new { + str.remove_instance_variable(:@x) + str.instance_variable_set(:@x, :new_value) + }.resume + + assert_equal :new_value, str.instance_variable_get(:@x) + end + private def with_kwargs_11(v1:, v2:, v3:, v4:, v5:, v6:, v7:, v8:, v9:, v10:, v11:) local_variables |
