test: remove obsolete harmony flags
[platform/upstream/nodejs.git] / deps / v8 / test / mjsunit / es6 / regress / regress-3683.js
1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 "use strict";
6
7 // Simplest case
8 var count = 0;
9 for (let x = 0; x < 10;) {
10   x++;
11   count++;
12   continue;
13 }
14 assertEquals(10, count);
15
16 // Labeled
17 count = 0;
18 label: for (let x = 0; x < 10;) {
19   while (true) {
20     x++;
21     count++;
22     continue label;
23   }
24 }
25 assertEquals(10, count);
26
27 // Simple and labeled
28 count = 0;
29 label: for (let x = 0; x < 10;) {
30   x++;
31   count++;
32   continue label;
33 }
34 assertEquals(10, count);
35
36 // Shadowing loop variable in same scope as continue
37 count = 0;
38 for (let x = 0; x < 10;) {
39   x++;
40   count++;
41   {
42     let x = "hello";
43     continue;
44   }
45 }
46 assertEquals(10, count);
47
48 // Nested let-bound for loops, inner continue
49 count = 0;
50 for (let x = 0; x < 10;) {
51   x++;
52   for (let y = 0; y < 2;) {
53     y++;
54     count++;
55     continue;
56   }
57 }
58 assertEquals(20, count);
59
60 // Nested let-bound for loops, outer continue
61 count = 0;
62 for (let x = 0; x < 10;) {
63   x++;
64   for (let y = 0; y < 2;) {
65     y++;
66     count++;
67   }
68   continue;
69 }
70 assertEquals(20, count);
71
72 // Nested let-bound for loops, labeled continue
73 count = 0;
74 outer: for (let x = 0; x < 10;) {
75   x++;
76   for (let y = 0; y < 2;) {
77     y++;
78     count++;
79     if (y == 2) continue outer;
80   }
81 }
82 assertEquals(20, count);