summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-02-11 19:15:36 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-02-11 19:15:36 +0000
commit691a3a2bdc3495860405b1173d9081804a55c350 (patch)
treee7fb011ce7b8a53572be68e256ab906088d59881 /test
parent3ab9be9245c1e49ee40c4e7b728feddc2368fbd0 (diff)
* vm_eval.c (check_funcall): Call respond_to? with matching arity for
legacy single-argument implementations. [ruby-trunk - Bug #6000] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_object.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/ruby/test_object.rb b/test/ruby/test_object.rb
index 08d85559c4..eca1be78d5 100644
--- a/test/ruby/test_object.rb
+++ b/test/ruby/test_object.rb
@@ -446,6 +446,20 @@ class TestObject < Test::Unit::TestCase
assert_equal([[:respond_to?, :to_ary, true]], called, bug5158)
end
+ def test_implicit_respond_to_arity_1
+ p = Object.new
+
+ called = []
+ p.singleton_class.class_eval do
+ define_method(:respond_to?) do |a|
+ called << [:respond_to?, a]
+ false
+ end
+ end
+ [[p]].flatten
+ assert_equal([[:respond_to?, :to_ary]], called, '[bug:6000]')
+ end
+
def test_method_missing_passed_block
bug5731 = '[ruby-dev:44961]'