initial import
[vuplus_webkit] / Source / JavaScriptCore / tests / mozilla / ecma_2 / Statements / dowhile-005.js
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     }