summaryrefslogtreecommitdiff
path: root/test/test_delegate.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_delegate.rb')
-rw-r--r--test/test_delegate.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/test_delegate.rb b/test/test_delegate.rb
index 5660adc590..426a647808 100644
--- a/test/test_delegate.rb
+++ b/test/test_delegate.rb
@@ -331,6 +331,20 @@ class TestDelegateClass < Test::Unit::TestCase
assert_raise(NoMethodError, /undefined method `foo' for/) { delegate.foo }
end
+ def test_basicobject_respond_to
+ o = BasicObject.new
+ def o.bar
+ nil
+ end
+
+ def o.respond_to?(method, include_private=false)
+ return false if method == :bar
+ ::Kernel.instance_method(:respond_to?).bind_call(self, method, include_private)
+ end
+ delegate = SimpleDelegator.new(o)
+ refute delegate.respond_to?(:bar)
+ end
+
def test_keyword_argument
k = EnvUtil.labeled_class("Target") do
def test(a, k:) [a, k]; end