Skip to content
Snippets Groups Projects
Commit 7a8e6446 authored by Mike Pennisi's avatar Mike Pennisi
Browse files

Correct test for `for-in` IterationStatement

This test was intended to assert the semantics of the `for-in`
statement, but it was mistakenly authored to use a `for-of` statement.
Update the statement under test, and improve the testing methodology to
correctly assert the creation of distinct bindings.
parent 53df13bf
No related branches found
No related tags found
No related merge requests found
// Copyright (C) 2011 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
esid: sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset
es6id: 13.7.5.13
description: >
let ForDeclaration: creates a fresh binding per iteration
---*/
let s = '';
for (let x of [1, 2, 3]) {
s += x;
}
assert.sameValue(s, '123', "The value of `s` is `'123'`");
var fns = {};
var obj = Object.create(null);
obj.a = 1;
obj.b = 1;
obj.c = 1;
for (let x in obj) {
// Store function objects as properties of an object so that their return
// value may be verified regardless of the for-in statement's enumeration
// order.
fns[x] = function() { return x; };
}
assert.sameValue(typeof fns.a, 'function', 'property definition: "a"');
assert.sameValue(fns.a(), 'a');
assert.sameValue(typeof fns.b, 'function', 'property definition: "b"');
assert.sameValue(fns.b(), 'b');
assert.sameValue(typeof fns.c, 'function', 'property definition: "c"');
assert.sameValue(fns.c(), 'c');
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment