test262/test/language/statementList/eval-fn-array-literal-with-...

46 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2019-07-16 23:51:25 +02:00
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal-with-item.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: Array Literal with items (Eval production of StatementList starting with a Function Declaration)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
HoistableDeclaration
FunctionDeclaration:
function BindingIdentifier ( FormalParameters ) { FunctionBody }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
ArrayLiteral[Yield, Await]:
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
---*/
var result = eval('function fn() {}[42];;');
assert.sameValue(Object.getPrototypeOf(result), Array.prototype);
assert.sameValue(result.length, 1);
assert.sameValue(result[0], 42);