summaryrefslogtreecommitdiff
path: root/trunk/test/ruby/test_exception.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/test/ruby/test_exception.rb')
-rw-r--r--trunk/test/ruby/test_exception.rb226
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