v2 / vlib / v / tests / named_break_continue_test.v
46 lines · 44 sloc · 459 bytes · d7049ae2dadf410c7b79b69056fb972d5e4ac09d
Raw
1fn test_labelled_for() {
2 mut i := 4
3 unsafe {
4 goto L1
5 }
6 L1: for {
7 i++
8 for {
9 if i < 7 {
10 continue L1
11 } else {
12 break L1
13 }
14 }
15 }
16 assert i == 7
17
18 unsafe {
19 goto L2
20 }
21 L2: for ; true; i++ {
22 for {
23 if i < 17 {
24 continue L2
25 } else {
26 break L2
27 }
28 }
29 }
30 assert i == 17
31
32 unsafe {
33 goto L3
34 }
35 L3: for e in [1, 2, 3, 4] {
36 i = e
37 for {
38 if i < 3 {
39 continue L3
40 } else {
41 break L3
42 }
43 }
44 }
45 assert i == 3
46}
47