mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* eval.c (struct tag): dst should be VALUE.
* eval.c (localjump_destination): stop at the scope where the current block was created. [ruby-dev:21353] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
9edcc5e99a
commit
80edcf82a1
3 changed files with 19 additions and 10 deletions
|
@ -179,7 +179,7 @@ class TestIterator < Test::Unit::TestCase
|
|||
m(block_given?,&proc{})
|
||||
end
|
||||
|
||||
def test_block_in_arg
|
||||
def test_block_given
|
||||
assert(m1{p 'test'})
|
||||
assert(m2{p 'test'})
|
||||
assert(!m1())
|
||||
|
@ -299,6 +299,7 @@ class TestIterator < Test::Unit::TestCase
|
|||
lambda = lambda{44}
|
||||
assert_raises(LocalJumpError) {get_block{break}.call}
|
||||
assert_nothing_raised {lambda{break}.call}
|
||||
assert_instance_of(LocalJumpError, (get_block{break}.call rescue $!))
|
||||
|
||||
assert_equal(-1, block.arity)
|
||||
assert_equal(-1, lambda.arity)
|
||||
|
@ -319,7 +320,7 @@ class TestIterator < Test::Unit::TestCase
|
|||
marity_test(:p)
|
||||
|
||||
lambda(&method(:assert)).call(true)
|
||||
lambda(&get_block{|a,n| assert(a,n)}).call(true, 2)
|
||||
lambda(&get_block{|a,n| assert(a,n)}).call(true, "marity")
|
||||
end
|
||||
|
||||
class ITER_TEST1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue