diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-28 17:28:57 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-28 17:28:57 +0000 |
commit | c839def7cc34f858777b15d2d84cb45b585d9699 (patch) | |
tree | fb48ba0312b50723d9e894a7f32113996f6fa240 /test | |
parent | 8e73157dd03c5dd4848da16edbb59c44b07b2d4c (diff) |
merge revision(s) r49182,r49183: [Backport #10706]
vm_method.c: fix change refined new method visibility
* vm_method.c (rb_export_method): bail out if the original method
is undefined when the method is refined.
[ruby-core:67387] [Bug #10706]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_refinement.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/ruby/test_refinement.rb b/test/ruby/test_refinement.rb index 77e4789bfc..65137f0e3a 100644 --- a/test/ruby/test_refinement.rb +++ b/test/ruby/test_refinement.rb @@ -1167,6 +1167,20 @@ class TestRefinement < Test::Unit::TestCase end; end + def test_change_refined_new_method_visibility + assert_separately([], <<-"end;") + bug10706 = '[ruby-core:67387] [Bug #10706]' + module RefinementBug + refine Object do + def foo + end + end + end + + assert_raise(NameError, bug10706) {private(:foo)} + end; + end + private def eval_using(mod, s) |