summaryrefslogtreecommitdiff
path: root/test/ruby/test_exception.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_exception.rb')
-rw-r--r--test/ruby/test_exception.rb11
1 files changed, 8 insertions, 3 deletions
diff --git a/test/ruby/test_exception.rb b/test/ruby/test_exception.rb
index 4659def1ea5..99cacc21f99 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