diff options
Diffstat (limited to 'spec/ruby/language/fixtures/break.rb')
| -rw-r--r-- | spec/ruby/language/fixtures/break.rb | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/spec/ruby/language/fixtures/break.rb b/spec/ruby/language/fixtures/break.rb index 50e7fcf5d9..217c20a2c0 100644 --- a/spec/ruby/language/fixtures/break.rb +++ b/spec/ruby/language/fixtures/break.rb @@ -106,6 +106,34 @@ module BreakSpecs note :d end + def looped_break_in_captured_block + note :begin + looped_delegate_block do |i| + note :prebreak + break if i == 1 + note :postbreak + end + note :end + end + + def looped_delegate_block(&block) + note :preloop + 2.times do |i| + note :predele + yield_value(i, &block) + note :postdele + end + note :postloop + end + private :looped_delegate_block + + def yield_value(value) + note :preyield + yield value + note :postyield + end + private :yield_value + def method(v) yield v end @@ -135,7 +163,7 @@ module BreakSpecs # on the call stack when the lambda is invoked. def break_in_defining_scope(value=true) note :a - note lambda { + note -> { note :b if value break :break @@ -149,7 +177,7 @@ module BreakSpecs def break_in_nested_scope note :a - l = lambda do + l = -> do note :b break :break note :c @@ -169,7 +197,7 @@ module BreakSpecs def break_in_nested_scope_yield note :a - l = lambda do + l = -> do note :b break :break note :c @@ -189,7 +217,7 @@ module BreakSpecs def break_in_nested_scope_block note :a - l = lambda do + l = -> do note :b break :break note :c @@ -223,7 +251,7 @@ module BreakSpecs # active on the call stack when the lambda is invoked. def create_lambda note :la - l = lambda do + l = -> do note :lb break :break note :lc |
