diff options
Diffstat (limited to 'test/ruby/test_exception.rb')
-rw-r--r-- | test/ruby/test_exception.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/test/ruby/test_exception.rb b/test/ruby/test_exception.rb index 4659def1ea..99cacc21f9 100644 --- a/test/ruby/test_exception.rb +++ b/test/ruby/test_exception.rb @@ -147,7 +147,7 @@ class TestException < Test::Unit::TestCase end def test_catch_throw_noarg - assert_nothing_raised(ArgumentError) { + assert_nothing_raised(UncaughtThrowError) { result = catch {|obj| throw obj, :ok assert(false, "should not reach here") @@ -157,13 +157,18 @@ class TestException < Test::Unit::TestCase end def test_uncaught_throw - assert_raise_with_message(ArgumentError, /uncaught throw/) { + tag = nil + e = assert_raise_with_message(UncaughtThrowError, /uncaught throw/) { catch("foo") {|obj| - throw obj.dup, :ok + tag = obj.dup + throw tag, :ok assert(false, "should not reach here") } assert(false, "should not reach here") } + assert_not_nil(tag) + assert_same(tag, e.tag) + assert_equal(:ok, e.value) end def test_catch_throw_in_require |