2008-06-08 Cameron Zwarich <cwzwarich@uwaterloo.ca>
[WebKit-https.git] / LayoutTests / fast / js / resources / continue-break-multiple-labels.js
1 description(
2 'This test checks break and continue behaviour in the presence of multiple labels.'
3 );
4
5 function test1()
6 {
7     var s = "";
8     
9     a:
10     b:
11     for (var i = 1; i < 10; i++) {
12        if (i == 4)
13             continue a;
14        s += i;
15     }
16     
17     return s;
18 }
19
20 shouldBe("test1()", "'12356789'");
21
22 function test2()
23 {
24     var s = "";
25     
26     a:
27     b:
28     for (var i = 1; i < 10; i++) {
29         if (i == 4)
30             break a;
31         s += i;
32     }
33     
34     return s;
35 }
36
37 shouldBe("test2()", "'123'");
38
39 function test3()
40 {
41     var i;
42     for (i = 1; i < 10; i++) {
43         try {
44             continue;
45         } finally {
46             innerLoop:
47             while (1) {
48                 break innerLoop;
49             }
50         }
51     }
52     
53     return i;
54 }
55
56 shouldBe("test3()", "10");
57
58 function test4()
59 {
60     var i = 0;
61     
62     a:
63     i++;
64     while (1) {
65         break;
66     }
67     
68     return i;
69 }
70
71 shouldBe("test4()", "1");
72
73 function test5()
74 {
75     var i = 0;
76     
77     switch (1) {
78     default:
79         while (1) {
80             break;
81         }
82         i++;
83     }
84     
85     return i;
86 }
87
88 shouldBe("test5()", "1");
89
90 var successfullyParsed = true;