diff options
Diffstat (limited to 'trunk/yarvtest/test_jump.rb')
-rw-r--r-- | trunk/yarvtest/test_jump.rb | 296 |
1 files changed, 0 insertions, 296 deletions
diff --git a/trunk/yarvtest/test_jump.rb b/trunk/yarvtest/test_jump.rb deleted file mode 100644 index 4c806380a8..0000000000 --- a/trunk/yarvtest/test_jump.rb +++ /dev/null @@ -1,296 +0,0 @@ -require 'yarvtest/yarvtest' - -class TestJump < YarvTestBase - - def test_redo - ae %q{ - def m - yield + 10 - end - i=0 - m{ - if i>10 - i*i - else - i+=1 - redo - end - } - } - end - - def test_next - ae %q{ - def m - yield - :ok - end - i=0 - m{ - if i>10 - i*i - else - i+=1 - next - end - } - } - end - - def test_next_with_val - ae %q{ - def m - yield - end - - m{ - next :ok - } - } - end - - def test_return - ae %q{ - def m - return 3 - end - m - } - - ae %q{ - def m - :ng1 - mm{ - return :ok - } - :ng2 - end - - def mm - :ng3 - yield - :ng4 - end - m - } - end - - def test_return2 - ae %q{ - $i = 0 - def m - begin - iter{ - return - } - ensure - $i = 100 - end - end - - def iter - yield - end - m - $i - } - end - - def test_return3 - ae %q{ - def m - begin - raise - rescue - return :ok - end - :ng - end - m - } - end - - def test_break - ae %q{ - def m - :ng1 - mm{ - yield - } - :ng2 - end - - def mm - :ng3 - yield - :ng4 - end - - m{ - break :ok - } - } - end - - def test_exception_and_break - ae %q{ - def m - yield - end - - m{ - begin - ensure - break :ok - end - } - } - end - - def test_retry - # this test can't run on ruby 1.9(yarv can do) - %q{ - def m a - mm{ - yield - } - end - - def mm - yield - end - - i=0 - m(i+=1){ - retry if i<10 - :ok - } - } - - ae %q{ - def m a - yield - end - - i=0 - m(i+=1){ - retry if i<10 - :ok - } - } - end - - def test_complex_jump - ae %q{ - module Enumerable - def all_? - self.each{|e| - unless yield(e) - return false - end - } - true - end - end - - xxx = 0 - [1,2].each{|bi| - [3,4].each{|bj| - [true, nil, true].all_?{|be| be} - break - } - xxx += 1 - } - xxx - } - end - - def test_return_from - ae %q{ - def m - begin - raise - rescue - return 1 - end - end - - m - } - ae %q{ - def m - begin - # - ensure - return 1 - end - end - - m - } - end - - def test_break_from_times - ae %q{ - 3.times{ - break :ok - } - } - end - - def test_catch_and_throw - ae %q{ - catch(:foo){ - throw :foo - } - } - ae %q{ - catch(:foo){ - throw :foo, false - } - } - ae %q{ - catch(:foo){ - throw :foo, nil - } - } - ae %q{ - catch(:foo){ - throw :foo, :ok - } - } - ae %q{ - catch(:foo){ - 1.times{ - throw :foo - } - } - } - ae %q{ - catch(:foo){ - 1.times{ - throw :foo, :ok - } - } - } - ae %q{ - catch(:foo){ - catch(:bar){ - throw :foo, :ok - } - :ng - } - } - ae %q{ - catch(:foo){ - catch(:bar){ - 1.times{ - throw :foo, :ok - } - } - :ng - } - } - end -end - |