diff options
Diffstat (limited to 'trunk/yarvtest/test_exception.rb')
-rw-r--r-- | trunk/yarvtest/test_exception.rb | 408 |
1 files changed, 0 insertions, 408 deletions
diff --git a/trunk/yarvtest/test_exception.rb b/trunk/yarvtest/test_exception.rb deleted file mode 100644 index 9e69d02909..0000000000 --- a/trunk/yarvtest/test_exception.rb +++ /dev/null @@ -1,408 +0,0 @@ -require 'yarvtest/yarvtest' - -class TestException < YarvTestBase - - def test_rescue - ae %q{ - begin - 1 - rescue - 2 - end - } - - ae %q{ - begin - 1 - begin - 2 - rescue - 3 - end - 4 - rescue - 5 - end - } - - ae %q{ - begin - 1 - rescue - 2 - else - 3 - end - } - end - - def test_ensure - ae %q{ - begin - 1+1 - ensure - 2+2 - end - } - ae %q{ - begin - 1+1 - begin - 2+2 - ensure - 3+3 - end - ensure - 4+4 - end - } - ae %q{ - begin - 1+1 - begin - 2+2 - ensure - 3+3 - end - ensure - 4+4 - begin - 5+5 - ensure - 6+6 - end - end - } - end - - def test_rescue_ensure - ae %q{ - begin - 1+1 - rescue - 2+2 - ensure - 3+3 - end - } - ae %q{ - begin - 1+1 - rescue - 2+2 - ensure - 3+3 - end - } - ae %q{ - begin - 1+1 - rescue - 2+2 - else - 3+3 - ensure - 4+4 - end - } - ae %q{ - begin - 1+1 - begin - 2+2 - rescue - 3+3 - else - 4+4 - end - rescue - 5+5 - else - 6+6 - ensure - 7+7 - end - } - - end - - def test_raise - ae %q{ - begin - raise - rescue - :ok - end - } - ae %q{ - begin - raise - rescue - :ok - ensure - :ng - end - } - ae %q{ - begin - raise - rescue => e - e.class - end - } - ae %q{ - begin - raise - rescue StandardError - :ng - rescue Exception - :ok - end - } - ae %q{ - begin - begin - raise "a" - rescue - raise "b" - ensure - raise "c" - end - rescue => e - e.message - end - } - end - - def test_error_variable - ae %q{ - a = nil - 1.times{|e| - begin - rescue => err - end - a = err.class - } - } - ae %q{ - a = nil - 1.times{|e| - begin - raise - rescue => err - end - a = err.class - } - a - } - end - - def test_raise_in_other_scope - ae %q{ - class E1 < Exception - end - - def m - yield - end - - begin - begin - begin - m{ - raise - } - rescue E1 - :ok2 - ensure - end - rescue - :ok3 - ensure - end - rescue E1 - :ok - ensure - end - } do - remove_const :E1 - end - - ae %q{ - $i = 0 - def m - iter{ - begin - $i += 1 - begin - $i += 2 - break - ensure - - end - ensure - $i += 4 - end - $i = 0 - } - end - - def iter - yield - end - m - $i - } - - ae %q{ - $i = 0 - def m - begin - $i += 1 - begin - $i += 2 - return - ensure - $i += 3 - end - ensure - $i += 4 - end - p :end - end - m - $i - } - end - - def test_raise_in_cont_sp - ae %q{ - def m a, b - a + b - end - m(1, begin - raise - rescue - 2 - end) + - m(10, begin - raise - rescue - 20 - ensure - 30 - end) - } - ae %q{ - def m a, b - a + b - end - m(begin - raise - rescue - 1 - end, - begin - raise - rescue - 2 - end) - } - end - - def test_geterror - ae %q{ - $! - } - ae %q{ - begin - raise "FOO" - rescue - $! - end - } - ae %q{ - def m - $! - end - begin - raise "FOO" - rescue - m() - end - } - ae %q{ - $ans = [] - def m - $! - end - begin - raise "FOO" - rescue - begin - raise "BAR" - rescue - $ans << m() - end - $ans << m() - end - $ans - } - ae %q{ - $ans = [] - def m - $! - end - - begin - begin - raise "FOO" - ensure - $ans << m() - end - rescue - $ans << m() - end - } - ae %q{ - $ans = [] - def m - $! - end - def m2 - 1.times{ - begin - return - ensure - $ans << m - end - } - end - m2 - $ans - } - end - - def test_stack_consistency - ae %q{ # - proc{ - begin - raise - break - rescue - :ok - end - }.call - } - ae %q{ - proc do - begin - raise StandardError - redo - rescue StandardError - end - end.call - } - end -end - |