public void EvalBreak1() {
AssertOutput(() => CompilerTest(@"
x = 10.times do
puts 'in 1st loop'
eval('break 1')
end
p x
x = while true
puts 'in 2nd loop'
eval('break 2')
end
p x
x = Array.new(10) do
eval('break 3')
end
p x
class C
define_method(:foo) do
eval('break 4')
end
end
p C.new.foo
x = Kernel.module_eval do
eval('break 5')
end
p x
p 10.times { break eval('while true do eval(""break 6""); end') }
"), @"
in 1st loop
1
in 2nd loop
2
3
4
5
6
");
}