diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-30 07:42:04 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-30 07:42:04 +0000 |
commit | 35b88be02b246357368dbcd5cdc83bf1dabef425 (patch) | |
tree | a6c8b621e79d496d94c1425dde095c8e1732d6b9 /test | |
parent | bb385e23866f047b1dbbcc3f79fb9020c1fb6a5b (diff) | |
download | ruby-35b88be02b246357368dbcd5cdc83bf1dabef425.tar.gz |
* 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
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_array.rb | 12 | ||||
-rw-r--r-- | test/ruby/test_rubyoptions.rb | 4 | ||||
-rw-r--r-- | test/ruby/test_string.rb | 12 |
3 files changed, 26 insertions, 2 deletions
diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb index fd3b98432d..25bf5955ec 100644 --- a/test/ruby/test_array.rb +++ b/test/ruby/test_array.rb @@ -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 diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb index 7e4ac8cfb4..d4143cffb8 100644 --- a/test/ruby/test_rubyoptions.rb +++ b/test/ruby/test_rubyoptions.rb @@ -53,9 +53,9 @@ class TestRubyOptions < Test::Unit::TestCase end def test_debug - assert_in_out_err(%w(-de) + ["p $DEBUG"], "", %w(true), //) + assert_in_out_err(%w(-de) + ["p $DEBUG"], "", %w(true), []) - assert_in_out_err(%w(--debug -e) + ["p $DEBUG"], "", %w(true), //) + assert_in_out_err(%w(--debug -e) + ["p $DEBUG"], "", %w(true), []) end def test_verbose diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index f0688a342c..290f53634d 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -1408,6 +1408,18 @@ class TestString < Test::Unit::TestCase a = S("me") assert_equal("me", a.to_s) assert_equal(a.__id__, a.to_s.__id__) if @cls == String + + o = Object.new + def o.to_str + "at" + end + assert_equal("meat", a.concat(o)) + + o = Object.new + def o.to_str + foo_bar() + end + assert_match(/foo_bar/, assert_raise(NoMethodError) {a.concat(o)}.message) end def test_tr |