diff options
Diffstat (limited to 'bootstraptest/test_exception.rb')
| -rw-r--r-- | bootstraptest/test_exception.rb | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/bootstraptest/test_exception.rb b/bootstraptest/test_exception.rb index bd3d02ade3..decfdc08a3 100644 --- a/bootstraptest/test_exception.rb +++ b/bootstraptest/test_exception.rb @@ -97,7 +97,7 @@ assert_equal %q{[#<RuntimeError: FOO>, #<RuntimeError: FOO>]}, %q{ def m $! end - + begin begin raise "FOO" @@ -205,11 +205,11 @@ assert_equal %q{3}, %q{ assert_equal %q{ok3}, %q{ class E1 < Exception end - + def m yield end - + begin begin begin @@ -239,7 +239,7 @@ assert_equal %q{7}, %q{ $i += 2 break ensure - + end ensure $i += 4 @@ -247,7 +247,7 @@ assert_equal %q{7}, %q{ $i = 0 } end - + def iter yield end @@ -349,7 +349,7 @@ assert_equal %q{12}, %q{ 7+7 end } -assert_equal %q{ok}, %q{ # +assert_equal %q{ok}, %q{ # proc{ begin raise @@ -370,13 +370,13 @@ assert_equal %q{}, %q{ } ## -assert_match /undefined method `foo\'/, %q{ +assert_match /undefined method 'foo\'/, %q{#` STDERR.reopen(STDOUT) class C def inspect bar {} end - + def bar raise ensure @@ -402,3 +402,31 @@ assert_equal 'nil', %q{ exc.inspect }, '[ruby-dev:32608]' +assert_equal 'divided by 0', %q{ + class ZeroDivisionError + def self.new(message) + 42 + end + end + begin + 1/0 + rescue Exception => e + e.message + end +}, '[ruby-core:24767]' + +assert_equal 'ok', %q{ + class C + def ===(o) + true + end + end + begin + begin + raise + rescue C.new + end + rescue TypeError + :ok + end +} |
