From 2dc613815d2c4a69bfbcbf78d1b99aa52fbabf60 Mon Sep 17 00:00:00 2001 From: Étienne Barrié Date: Tue, 30 Aug 2016 13:29:07 -0400 Subject: delegate.rb: don't look for methods on Kernel Instead, look for instance methods of Kernel. Otherwise, instance methods of Module (which are methods of Kernel itself) are mistakenly believed to exist, and it fails when calling Kernel.instance_method(). Closes: https://github.com/ruby/ruby/pull/1422 --- test/test_delegate.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test') diff --git a/test/test_delegate.rb b/test/test_delegate.rb index 5320520de3..ffc4d9527e 100644 --- a/test/test_delegate.rb +++ b/test/test_delegate.rb @@ -258,4 +258,11 @@ class TestDelegateClass < Test::Unit::TestCase def test_dir_in_delegator_class assert_equal(__dir__, Bug9403::DC.dir_name, Bug9403::Name) end + + def test_module_methods_vs_kernel_methods + delegate = SimpleDelegator.new(Object.new) + assert_raise(NoMethodError) do + delegate.constants + end + end end -- cgit v1.2.3