Files
scriptc/tests/test262/vendor/test/language/arguments-object/func-expr-args-trailing-comma-undefined.js
Chris Tate 94f0892e6a Admit direct arguments reads in Test262 scripts (#536)
* Admit direct arguments reads in Test262 scripts

* Record TypeScript parity for recent corpus cases
2026-09-28 11:46:27 -05:00

45 lines
1.3 KiB
JavaScript

// This file was procedurally generated from the following sources:
// - src/arguments/args-trailing-comma-undefined.case
// - src/arguments/default/func-expr.template
/*---
description: A trailing comma after undefined should not increase the arguments.length (function expression)
esid: sec-arguments-exotic-objects
flags: [generated]
info: |
9.4.4 Arguments Exotic Objects
Most ECMAScript functions make an arguments object available to their code. Depending upon the
characteristics of the function definition, its arguments object is either an ordinary object
or an arguments exotic object.
Trailing comma in the arguments list
Left-Hand-Side Expressions
Arguments :
( )
( ArgumentList )
( ArgumentList , )
ArgumentList :
AssignmentExpression
... AssignmentExpression
ArgumentList , AssignmentExpression
ArgumentList , ... AssignmentExpression
---*/
var callCount = 0;
// Stores a reference `ref` for case evaluation
var ref;
ref = function() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], undefined);
callCount = callCount + 1;
};
ref(42, undefined,);
assert.sameValue(callCount, 1, 'function invoked exactly once');