diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-17 07:36:38 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-17 07:36:38 +0000 |
commit | 2ca46bfc9d7ee33e940e5fa885ec59a6e0b22298 (patch) | |
tree | 22337b220fb89a25bc70307814efc09022f7876a /test | |
parent | 7405ea0c0f8841270c5f6d77d529cb926c66b958 (diff) |
merge revision(s) 49182,49183: [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_2@49297 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 11077b6e4d..8553c42e18 100644 --- a/test/ruby/test_refinement.rb +++ b/test/ruby/test_refinement.rb @@ -1165,6 +1165,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) |