summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/statements/for-of/nested.js
blob: 54fefe3876dd7a56c91715d42fcca605325ab88e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright (C) 2013 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 13.6.4.13
description: >
    Nested statements should operate independently.
features: [generators]
---*/

function* values() {
  yield 3;
  yield 7;
}

var outerIterable, expectedOuter, i, innerIterable, expectedInner, j;

outerIterable = values();
expectedOuter = 3;
i = 0;

for (var x of outerIterable) {
  assert.sameValue(x, expectedOuter);
  expectedOuter = 7;
  i++;

  innerIterable = values();
  expectedInner = 3;
  j = 0;
  for (var y of innerIterable) {
    assert.sameValue(y, expectedInner);
    expectedInner = 7;
    j++;
  }

  assert.sameValue(j, 2);
}

assert.sameValue(i, 2);

reportCompare(0, 0);