diff options
Diffstat (limited to 'trunk/test/ruby/test_exception.rb')
-rw-r--r-- | trunk/test/ruby/test_exception.rb | 226 |
1 files changed, 0 insertions, 226 deletions
diff --git a/trunk/test/ruby/test_exception.rb b/trunk/test/ruby/test_exception.rb deleted file mode 100644 index 3300fcdd74..0000000000 --- a/trunk/test/ruby/test_exception.rb +++ /dev/null @@ -1,226 +0,0 @@ -require 'test/unit' -require_relative 'envutil' - -class TestException < Test::Unit::TestCase - def test_exception - begin - raise "this must be handled" - assert(false) - rescue - assert(true) - end - - $bad = true - begin - raise "this must be handled no.2" - rescue - if $bad - $bad = false - retry - assert(false) - end - end - assert(true) - - # exception in rescue clause - $string = "this must be handled no.3" - e = assert_raises(RuntimeError) do - begin - raise "exception in rescue clause" - rescue - raise $string - end - assert(false) - end - assert_equal($string, e.message) - - # exception in ensure clause - $string = "exception in ensure clause" - e = assert_raises(RuntimeError) do - begin - raise "this must be handled no.4" - ensure - assert_instance_of(RuntimeError, $!) - assert_equal("this must be handled no.4", $!.message) - raise "exception in ensure clause" - end - assert(false) - end - assert_equal($string, e.message) - - $bad = true - begin - begin - raise "this must be handled no.5" - ensure - $bad = false - end - rescue - end - assert(!$bad) - - $bad = true - begin - begin - raise "this must be handled no.6" - ensure - $bad = false - end - rescue - end - assert(!$bad) - - $bad = true - while true - begin - break - ensure - $bad = false - end - end - assert(!$bad) - - assert(catch(:foo) { - loop do - loop do - throw :foo, true - break - end - break - assert(false) # should no reach here - end - false - }) - - end - - def test_else - begin - assert(true) - rescue - assert(false) - else - assert(true) - end - - begin - assert(true) - raise - assert(false) - rescue - assert(true) - else - assert(false) - end - - begin - assert(true) - begin - assert(true) - rescue - assert(false) - else - assert(true) - end - assert(true) - rescue - assert(false) - else - assert(true) - end - - begin - assert(true) - begin - assert(true) - raise - assert(false) - rescue - assert(true) - else - assert(false) - end - assert(true) - rescue - assert(false) - else - assert(true) - end - - begin - assert(true) - begin - assert(true) - rescue - assert(false) - else - assert(true) - end - assert(true) - raise - assert(false) - rescue - assert(true) - else - assert(false) - end - - begin - assert(true) - begin - assert(true) - raise - assert(false) - rescue - assert(true) - else - assert(false) - end - assert(true) - raise - assert(false) - rescue - assert(true) - else - assert(false) - end - end - - def test_raise_with_wrong_number_of_arguments - assert_raise(TypeError) { raise nil } - assert_raise(TypeError) { raise 1, 1 } - assert_raise(ArgumentError) { raise 1, 1, 1, 1 } - end - - def test_errat - assert_in_out_err([], "p $@", %w(nil), []) - - assert_in_out_err([], "$@ = 1", [], /\$! not set \(ArgumentError\)$/) - - assert_in_out_err([], <<-INPUT, [], /backtrace must be Array of String \(TypeError\)$/) - begin - raise - rescue - $@ = 1 - end - INPUT - - assert_in_out_err([], <<-INPUT, [], /^foo: unhandled exception$/) - begin - raise - rescue - $@ = 'foo' - raise - end - INPUT - - assert_in_out_err([], <<-INPUT, [], /^foo: unhandled exception\s+from bar\s+from baz$/) - begin - raise - rescue - $@ = %w(foo bar baz) - raise - end - INPUT - end -end |