* vm_eval.c (rb_search_method_emtry, rb_method_call_status): split

from rb_call0().

* vm_eval.c (rb_check_funcall): get rid of raising exceptions and
  hiding further exceptions.  [ruby-dev:39584]

* vm_eval.c (rb_funcall_no_recursive): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2009-10-30 07:42:04 +00:00
parent bb385e2386
commit 35b88be02b
5 changed files with 103 additions and 75 deletions

View file

@ -1224,6 +1224,18 @@ class TestArray < Test::Unit::TestCase
if (@cls == Array)
assert_equal(a_id, a.to_ary.__id__)
end
o = Object.new
def o.to_ary
[4, 5]
end
assert_equal([1, 2, 3, 4, 5], a.concat(o))
o = Object.new
def o.to_ary
foo_bar()
end
assert_match(/foo_bar/, assert_raise(NoMethodError) {a.concat(o)}.message)
end
def test_to_s