Skip to content
Snippets Groups Projects
Commit e56687f5 authored by Gorkem Yakin's avatar Gorkem Yakin
Browse files

Merge pull request #473 from bocoup/for-inof-exprs

Add tests for iterator expression in ForIn/Of head
parents 738a24b1 19762b92
No related branches found
No related tags found
No related merge requests found
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: Expression is allowed in head
info: >
IterationStatement : for ( ForDeclaration in Expression ) Statement
1. Let keyResult be the result of performing
ForIn/OfHeadEvaluation(BoundNames of ForDeclaration, Expression,
enumerate).
2. ReturnIfAbrupt(keyResult).
3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult,
lexicalBinding, labelSet).
es6id: 13.7.5.11
---*/
var iterCount = 0;
for (let x in null, { key: 0 }) {
assert.sameValue(x, 'key');
iterCount += 1;
}
assert.sameValue(iterCount, 1);
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: Expression is allowed in head
info: >
IterationStatement : for ( ForDeclaration in Expression ) Statement
1. Let keyResult be the result of performing
ForIn/OfHeadEvaluation(BoundNames of ForDeclaration, Expression,
enumerate).
2. ReturnIfAbrupt(keyResult).
3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult,
lexicalBinding, labelSet).
es6id: 13.7.5.11
---*/
var iterCount = 0;
var x;
for (x in null, { key: 0 }) {
assert.sameValue(x, 'key');
iterCount += 1;
}
assert.sameValue(iterCount, 1);
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: Expression is allowed in head
info: >
IterationStatement : for ( ForDeclaration in Expression ) Statement
1. Let keyResult be the result of performing
ForIn/OfHeadEvaluation(BoundNames of ForDeclaration, Expression,
enumerate).
2. ReturnIfAbrupt(keyResult).
3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult,
lexicalBinding, labelSet).
es6id: 13.7.5.11
---*/
var iterCount = 0;
for (var x in null, { key: 0 }) {
assert.sameValue(x, 'key');
iterCount += 1;
}
assert.sameValue(iterCount, 1);
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: Expression not allowed in head's AssignmentExpression position
info: >
IterationStatement :
for ( ForDeclaration of AssignmentExpression ) Statement
es6id: 13.7
negative: SyntaxError
---*/
for (let x of [], []) {}
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: Expression not allowed in head's AssignmentExpression position
info: >
IterationStatement :
for ( LeftHandSideExpression of AssignmentExpression ) Statement
es6id: 13.7
negative: SyntaxError
---*/
var x;
for (x of [], []) {}
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: Expression not allowed in head's AssignmentExpression position
info: >
IterationStatement :
for ( var ForBinding of AssignmentExpression ) Statement
es6id: 13.7
negative: SyntaxError
---*/
for (var x of [], []) {}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment