diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
commit | d0233291bc8a5068e52c69c210e5979e5324b5bc (patch) | |
tree | 7d9459449c33792c63eeb7baa071e76352e0baab /trunk/yarvtest/test_proc.rb | |
parent | 0dc342de848a642ecce8db697b8fecd83a63e117 (diff) | |
parent | 72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff) |
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/yarvtest/test_proc.rb')
-rw-r--r-- | trunk/yarvtest/test_proc.rb | 293 |
1 files changed, 0 insertions, 293 deletions
diff --git a/trunk/yarvtest/test_proc.rb b/trunk/yarvtest/test_proc.rb deleted file mode 100644 index 2106d2e56e..0000000000 --- a/trunk/yarvtest/test_proc.rb +++ /dev/null @@ -1,293 +0,0 @@ -require 'yarvtest/yarvtest' - -class TestProc < YarvTestBase - def test_simpleproc - ae %q{ - def m(&b) - b - end - m{1}.call - } - - ae %q{ - def m(&b) - b - end - - m{ - a = 1 - a + 2 - }.call - } - end - - def test_procarg - ae %q{ - def m(&b) - b - end - - m{|e_proctest| e_proctest}.call(1) - } - - ae %q{ - def m(&b) - b - end - - m{|e_proctest1, e_proctest2| - a = e_proctest1 * e_proctest2 * 2 - a * 3 - }.call(1, 2) - } - - ae %q{ - [ - Proc.new{|*args| args}.call(), - Proc.new{|*args| args}.call(1), - Proc.new{|*args| args}.call(1, 2), - Proc.new{|*args| args}.call(1, 2, 3), - ] - } - ae %q{ - [ - Proc.new{|a, *b| [a, b]}.call(), - Proc.new{|a, *b| [a, b]}.call(1), - Proc.new{|a, *b| [a, b]}.call(1, 2), - Proc.new{|a, *b| [a, b]}.call(1, 2, 3), - ] - } - end - - def test_closure - ae %q{ - def make_proc(&b) - b - end - - def make_closure - a = 0 - make_proc{ - a+=1 - } - end - - cl = make_closure - cl.call + cl.call * cl.call - } - end - - def test_nestproc2 - ae %q{ - def iter - yield - end - - def getproc &b - b - end - - iter{ - bvar = 3 - getproc{ - bvar2 = 4 - bvar * bvar2 - } - }.call - } - - ae %q{ - def iter - yield - end - - def getproc &b - b - end - - loc1 = 0 - pr1 = iter{ - bl1 = 1 - getproc{ - loc1 += 1 - bl1 += 1 - loc1 + bl1 - } - } - - pr2 = iter{ - bl1 = 1 - getproc{ - loc1 += 1 - bl1 += 1 - loc1 + bl1 - } - } - - pr1.call; pr2.call - pr1.call; pr2.call - pr1.call; pr2.call - (pr1.call + pr2.call) * loc1 - } - end - - def test_proc_with_cref - ae %q{ - Const = :top - class C - Const = :C - $pr = proc{ - (1..2).map{ - Const - } - } - end - $pr.call - } - ae %q{ - Const = :top - class C - Const = :C - end - pr = proc{ - Const - } - C.class_eval %q{ - pr.call - } - } - end - - def test_3nest - ae %q{ - def getproc &b - b - end - - def m - yield - end - - m{ - i = 1 - m{ - j = 2 - m{ - k = 3 - getproc{ - [i, j, k] - } - } - } - }.call - } - end - - def test_nestproc1 - ae %q{ - def proc &b - b - end - - pr = [] - proc{|i_b| - p3 = proc{|j_b| - pr << proc{|k_b| - [i_b, j_b, k_b] - } - } - p3.call(1) - p3.call(2) - }.call(0) - - pr[0].call(:last).concat pr[1].call(:last) - } - end - - def test_proc_with_block - ae %q{ - def proc(&pr) - pr - end - - def m - a = 1 - m2{ - a - } - end - - def m2 - b = 2 - proc{ - [yield, b] - } - end - - pr = m - x = ['a', 1,2,3,4,5,6,7,8,9,0, - 1,2,3,4,5,6,7,8,9,0, - 1,2,3,4,5,6,7,8,9,0, - 1,2,3,4,5,6,7,8,9,0, - 1,2,3,4,5,6,7,8,9,0,] - pr.call - } - ae %q{ - def proc(&pr) - pr - end - - def m - a = 1 - m2{ - a - } - end - - def m2 - b = 2 - proc{ - [yield, b] - } - 100000.times{|x| - "#{x}" - } - yield - end - m - } - end - - def test_method_to_proc - ae %q{ - class C - def foo - :ok - end - end - - def block - C.method(:new).to_proc - end - b = block() - b.call.foo - } - end - - def test_safe - ae %q{ - pr = proc{ - $SAFE - } - $SAFE = 1 - pr.call - } - ae %q{ - pr = proc{ - $SAFE += 1 - } - [pr.call, $SAFE] - } - end -end - |