]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/mozilla/ecma_2/Statements/while-004.js
4 * Description: while statement
6 * Author: christine@netscape.com
9 var SECTION
= "while-004";
10 var VERSION
= "ECMA_2";
11 var TITLE
= "while statement";
12 var BUGNUMBER
="316725";
15 writeHeaderToLog( SECTION
+ " "+ TITLE
);
18 var testcases
= new Array();
29 * Break out of a while by calling return.
31 * Tests: 12.6.2 step 6.
38 result
= "fail: hit code after return statement";
43 function DoWhile_1() {
44 description
= "return statement in a while block";
48 testcases
[tc
++] = new TestCase(
50 "DoWhile_1" + description
,
56 * While with a labeled continue statement. Verify that statements
57 * after the continue statement are not evaluated.
59 * Tests: 12.6.2 step 8.
62 function DoWhile_2() {
63 var description
= "while with a labeled continue statement";
65 var result2
= "fail: did not execute code after loop, but inside label";
73 result1
= "failed: hit code after continue statement";
77 testcases
[tc
++] = new TestCase(
79 "DoWhile_2: " +description
+ " - code inside the loop, before the continue should be executed ("+j
+")",
83 testcases
[tc
++] = new TestCase(
85 "DoWhile_2: " +description
+" - code after labeled continue should not be executed",
89 testcases
[tc
++] = new TestCase(
91 "DoWhile_2: " +description
+" - code after loop but inside label should be executed",
97 * While with a labeled break.
100 function DoWhile_3() {
101 var description
= "while with a labeled break statement";
102 var result1
= "pass";
103 var result2
= "pass";
104 var result3
= "fail: did not get to code after label";
109 result1
= "fail: got to code after a break";
111 result2
= "fail: got to code outside of loop but inside label";
116 testcases
[tc
++] = new TestCase(
118 "DoWhile_3: " +description
+" - verify break out of loop",
123 testcases
[tc
++] = new TestCase(
125 "DoWhile_3: " +description
+" - verify break out of label",
129 testcases
[tc
++] = new TestCase(
131 "DoWhile_3: " +description
+ " - verify correct exit from label",
138 * Labled while with an unlabeled break
141 function DoWhile_4() {
142 var description
= "labeled while with an unlabeled break";
143 var result1
= "pass";
144 var result2
= "pass";
145 var result3
= "fail: did not evaluate statement after label";
150 result1
= "fail: got to code after the break";
152 result2
= "fail: broke out of while, but not out of label";
156 testcases
[tc
++] = new TestCase(
158 "DoWhile_4: " +description
+" - verify break out of while loop",
162 testcases
[tc
++] = new TestCase(
164 "DoWhile_4: " +description
+ " - verify break out of label",
168 testcases
[tc
++] = new TestCase(
170 "DoWhile_4: " +description
+" - verify that statements after label are evaluated",
176 * in this case, should behave the same way as
180 function DoWhile_5() {
181 var description
= "while with a labeled continue statement";
182 var result1
= "pass";
183 var result2
= "fail: did not execute code after loop, but inside label";
191 result1
= "failed: hit code after continue statement";
196 testcases
[tc
++] = new TestCase(
198 "DoWhile_5: " +description
+ " - continue should not execute statements above the loop",
202 testcases
[tc
++] = new TestCase(
204 "DoWhile_5: " +description
+" - code after labeled continue should not be executed",
208 testcases
[tc
++] = new TestCase(
210 "DoWhile_5: " +description
+" - code after loop but inside label should be executed",