test/syntax.rb: add tests for break and redo.

This commit is contained in:
Yukihiro "Matz" Matsumoto
2021-07-15 15:22:23 +09:00
parent b7d75591f3
commit d4abbf1b77
+37 -1
View File
@@ -48,7 +48,32 @@ assert('yield', '11.3.5') do
end
end
assert('redo in a for loop (#3275)') do
assert('break', '11.5.2.4.3') do
n = 0
a = []
while true
n += 1
a.push(n)
if n > 3
break
end
end
assert_equal [1,2,3,4], a
n = 0
a = []
6.times do
n += 1
a.push(n)
if n > 3
break
end
end
assert_equal [1,2,3,4], a
end
assert('redo', '11.5.2.4.5') do
sum = 0
for i in 1..10
sum += i
@@ -59,6 +84,17 @@ assert('redo in a for loop (#3275)') do
end
assert_equal 220, sum
n = 0
a = []
3.times do
n += 1
if n == 2
redo
end
a.push(n)
end
assert_equal [1,3,4], a
end
assert('Abbreviated variable assignment', '11.4.2.3.2') do