]> git.saurik.com Git - apple/javascriptcore.git/blame - tests/mozilla/ecma_2/Statements/dowhile-005.js
JavaScriptCore-461.tar.gz
[apple/javascriptcore.git] / tests / mozilla / ecma_2 / Statements / dowhile-005.js
CommitLineData
b37bf2e1
A
1/**
2 * File Name: dowhile-005
3 * ECMA Section:
4 * Description: do...while statements
5 *
6 * Test a labeled do...while. Break out of the loop with no label
7 * should break out of the loop, but not out of the label.
8 *
9 * Currently causes an infinite loop in the monkey. Uncomment the
10 * print statement below and it works OK.
11 *
12 * Author: christine@netscape.com
13 * Date: 26 August 1998
14 */
15 var SECTION = "dowhile-005";
16 var VERSION = "ECMA_2";
17 var TITLE = "do...while with a labeled continue statement";
18 var BUGNUMBER = "316293";
19
20 startTest();
21 writeHeaderToLog( SECTION + " "+ TITLE);
22
23 var tc = 0;
24 var testcases = new Array();
25
26 NestedLabel();
27
28
29 test();
30
31 function NestedLabel() {
32 i = 0;
33 result1 = "pass";
34 result2 = "fail: did not hit code after inner loop";
35 result3 = "pass";
36
37 outer: {
38 do {
39 inner: {
40// print( i );
41 break inner;
42 result1 = "fail: did break out of inner label";
43 }
44 result2 = "pass";
45 break outer;
46 print (i);
47 } while ( i++ < 100 );
48
49 }
50
51 result3 = "fail: did not break out of outer label";
52
53 testcases[tc++] = new TestCase(
54 SECTION,
55 "number of loop iterations",
56 0,
57 i );
58
59 testcases[tc++] = new TestCase(
60 SECTION,
61 "break out of inner loop",
62 "pass",
63 result1 );
64
65 testcases[tc++] = new TestCase(
66 SECTION,
67 "break out of outer loop",
68 "pass",
69 result2 );
70 }