|
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 |
|
7 /** |
|
8 Filename: continue.js |
|
9 Description: 'Tests the continue statement' |
|
10 |
|
11 Author: Nick Lerissa |
|
12 Date: March 18, 1998 |
|
13 */ |
|
14 |
|
15 var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; |
|
16 var VERSION = 'no version'; |
|
17 startTest(); |
|
18 var TITLE = 'statements: continue'; |
|
19 |
|
20 writeHeaderToLog("Executing script: continue.js"); |
|
21 writeHeaderToLog( SECTION + " "+ TITLE); |
|
22 |
|
23 var i,j; |
|
24 |
|
25 j = 0; |
|
26 for (i = 0; i < 200; i++) |
|
27 { |
|
28 if (i == 100) |
|
29 continue; |
|
30 j++; |
|
31 } |
|
32 |
|
33 // '"continue" in a "for" loop' |
|
34 new TestCase ( SECTION, '"continue" in "for" loop', |
|
35 199, j); |
|
36 |
|
37 |
|
38 j = 0; |
|
39 out1: |
|
40 for (i = 0; i < 1000; i++) |
|
41 { |
|
42 if (i == 100) |
|
43 { |
|
44 out2: |
|
45 for (var k = 0; k < 1000; k++) |
|
46 { |
|
47 if (k == 500) continue out1; |
|
48 } |
|
49 j = 3000; |
|
50 } |
|
51 j++; |
|
52 } |
|
53 |
|
54 // '"continue" in a "for" loop with a "label"' |
|
55 new TestCase ( SECTION, '"continue" in "for" loop with a "label"', |
|
56 999, j); |
|
57 |
|
58 i = 0; |
|
59 j = 1; |
|
60 |
|
61 while (i != j) |
|
62 { |
|
63 i++; |
|
64 if (i == 100) continue; |
|
65 j++; |
|
66 } |
|
67 |
|
68 // '"continue" in a "while" loop' |
|
69 new TestCase ( SECTION, '"continue" in a "while" loop', |
|
70 100, j ); |
|
71 |
|
72 j = 0; |
|
73 i = 0; |
|
74 out3: |
|
75 while (i < 1000) |
|
76 { |
|
77 if (i == 100) |
|
78 { |
|
79 var k = 0; |
|
80 out4: |
|
81 while (k < 1000) |
|
82 { |
|
83 if (k == 500) |
|
84 { |
|
85 i++; |
|
86 continue out3; |
|
87 } |
|
88 k++; |
|
89 } |
|
90 j = 3000; |
|
91 } |
|
92 j++; |
|
93 i++; |
|
94 } |
|
95 |
|
96 // '"continue" in a "while" loop with a "label"' |
|
97 new TestCase ( SECTION, '"continue" in a "while" loop with a "label"', |
|
98 999, j); |
|
99 |
|
100 i = 0; |
|
101 j = 1; |
|
102 |
|
103 do |
|
104 { |
|
105 i++; |
|
106 if (i == 100) continue; |
|
107 j++; |
|
108 } while (i != j); |
|
109 |
|
110 |
|
111 // '"continue" in a "do" loop' |
|
112 new TestCase ( SECTION, '"continue" in a "do" loop', |
|
113 100, j ); |
|
114 |
|
115 j = 0; |
|
116 i = 0; |
|
117 out5: |
|
118 do |
|
119 { |
|
120 if (i == 100) |
|
121 { |
|
122 var k = 0; |
|
123 out6: |
|
124 do |
|
125 { |
|
126 if (k == 500) |
|
127 { |
|
128 i++; |
|
129 continue out5; |
|
130 } |
|
131 k++; |
|
132 }while (k < 1000); |
|
133 j = 3000; |
|
134 } |
|
135 j++; |
|
136 i++; |
|
137 }while (i < 1000); |
|
138 |
|
139 // '"continue" in a "do" loop with a "label"' |
|
140 new TestCase ( SECTION, '"continue" in a "do" loop with a "label"', |
|
141 999, j); |
|
142 |
|
143 test(); |