Merge pull request #911 from leobalter/822-missing-args-length

Update params and arguments trailing comma tests
This commit is contained in:
Leo Balter 2017-03-14 17:47:24 -04:00 committed by GitHub
commit f17cd6d8d7
333 changed files with 7486 additions and 975 deletions

View File

@ -0,0 +1,29 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/cls-decl-gen-meth-static-
name: class declaration generator method
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
class C {
static *method(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
}
C.method(/*{ args }*/).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,29 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/cls-decl-gen-meth-
name: class declaration generator method
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
class C {
*method(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
}
C.prototype.method(/*{ args }*/).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,29 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/cls-decl-meth-static-
name: static class declaration method
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
class C {
static method(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
}
C.method(/*{ args }*/);
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,29 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/cls-decl-meth-
name: class declaration method
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
class C {
method(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
}
C.prototype.method(/*{ args }*/);
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,29 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/cls-expr-gen-meth-static-
name: static class expression generator method
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
var C = class {
static *method(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
};
C.method(/*{ args }*/).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,29 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/cls-expr-gen-meth-
name: class expression generator method
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
var C = class {
*method(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
};
C.prototype.method(/*{ args }*/).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,29 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/cls-expr-meth-static-
name: static class expression method
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
var C = class {
static method(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
};
C.method(/*{ args }*/);
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,29 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/cls-expr-meth-
name: class expression method
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
var C = class {
method(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
};
C.prototype.method(/*{ args }*/);
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,25 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/func-decl-
name: function declaration
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
// Stores a reference `ref` for case evaluation
function ref(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
ref(/*{ args }*/);
assert.sameValue(callCount, 1, 'function invoked exactly once');

View File

@ -0,0 +1,26 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/func-expr-
name: function expression
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
// Stores a reference `ref` for case evaluation
var ref;
ref = function(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
};
ref(/*{ args }*/);
assert.sameValue(callCount, 1, 'function invoked exactly once');

View File

@ -0,0 +1,25 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/gen-func-decl-
name: generator function declaration
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
// Stores a reference `ref` for case evaluation
function* ref(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
ref(/*{ args }*/).next();
assert.sameValue(callCount, 1, 'generator function invoked exactly once');

View File

@ -0,0 +1,26 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/gen-func-expr-
name: generator function expression
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
// Stores a reference `ref` for case evaluation
var ref;
ref = function*(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
};
ref(/*{ args }*/).next();
assert.sameValue(callCount, 1, 'generator function invoked exactly once');

View File

@ -0,0 +1,29 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/gen-meth-
name: generator method
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
var obj = {
*method(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
};
obj.method(/*{ args }*/).next();
// Stores a reference `ref` for case evaluation
var ref = obj.method;
assert.sameValue(callCount, 1, 'generator method invoked exactly once');

View File

@ -0,0 +1,29 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/arguments-object/meth-
name: method
esid: sec-arguments-exotic-objects
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.
---*/
var callCount = 0;
var obj = {
method(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
};
obj.method(/*{ args }*/);
// Stores a reference `ref` for case evaluation
var ref = obj.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,21 @@
// Copyright (C) 2016 Jeff Morrison. All rights reserved.
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
desc: A trailing comma should not increase the arguments.length, using multiple args
template: default
esid: prod-Arguments
info: |
Trailing comma in the arguments list
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
//- args
42, 'TC39',
//- body
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], 'TC39');

View File

@ -0,0 +1,20 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
desc: A trailing comma after null should not increase the arguments.length
template: default
esid: prod-Arguments
info: |
Trailing comma in the arguments list
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
//- args
42, null,
//- body
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], null);

View File

@ -0,0 +1,20 @@
// Copyright (C) 2016 Jeff Morrison. All rights reserved.
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
desc: A trailing comma should not increase the arguments.length, using a single arg
template: default
esid: prod-Arguments
info: |
Trailing comma in the arguments list
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
//- args
42,
//- body
assert.sameValue(arguments.length, 1);
assert.sameValue(arguments[0], 42);

View File

@ -0,0 +1,20 @@
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
desc: A trailing comma after undefined should not increase the arguments.length
template: default
esid: prod-Arguments
info: |
Trailing comma in the arguments list
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
//- args
42, undefined,
//- body
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], undefined);

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/arrow-function/params-dflt-
path: language/expressions/arrow-function/params-
name: arrow function expression
esid: sec-arrow-function-definitions-runtime-semantics-evaluation
es6id: 14.2.16
features: [default-parameters]
info: |
ArrowFunction : ArrowParameters => ConciseBody
@ -38,11 +36,12 @@ info: |
---*/
var callCount = 0;
var f;
f = (/*{ params }*/) => {
// Stores a reference `ref` for case evaluation
var ref;
ref = (/*{ params }*/) => {
/*{ body }*/
callCount = callCount + 1;
};
f(/*{ args }*/);
ref(/*{ args }*/);
assert.sameValue(callCount, 1, 'arrow function invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-gen-meth-static-
path: language/statements/class/params-gen-meth-static-
name: static class expression generator method
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
es6id: 14.5.15
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
@ -69,4 +67,7 @@ class C {
C.method(/*{ args }*/).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-gen-meth-
path: language/statements/class/params-gen-meth-
name: class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
@ -69,4 +67,7 @@ class C {
C.prototype.method(/*{ args }*/).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-meth-static-
path: language/statements/class/params-meth-static-
name: static class expression method
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
es6id: 14.5.15
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
@ -67,4 +65,7 @@ class C {
C.method(/*{ args }*/);
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-meth-
path: language/statements/class/params-meth-
name: class expression method
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
es6id: 14.5.15
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
@ -67,4 +65,7 @@ class C {
C.prototype.method(/*{ args }*/);
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-gen-meth-static-
path: language/expressions/class/params-gen-meth-static-
name: static class expression generator method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
@ -71,4 +69,7 @@ var C = class {
C.method(/*{ args }*/).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-gen-meth-
path: language/expressions/class/params-gen-meth-
name: class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
@ -71,4 +69,7 @@ var C = class {
C.prototype.method(/*{ args }*/).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-meth-static-
path: language/expressions/class/params-meth-static-
name: static class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
@ -68,4 +66,7 @@ var C = class {
C.method(/*{ args }*/);
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-meth-
path: language/expressions/class/params-meth-
name: class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
@ -68,4 +66,7 @@ var C = class {
C.prototype.method(/*{ args }*/);
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/function/params-dflt-
path: language/statements/function/params-
name: function declaration
esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
es6id: 14.1.19
features: [default-parameters]
info: |
FunctionDeclaration :
function BindingIdentifier ( FormalParameters ) { FunctionBody }
@ -40,11 +38,12 @@ info: |
---*/
var callCount = 0;
function f(/*{ params }*/) {
// Stores a reference `ref` for case evaluation
function ref(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
f(/*{ args }*/);
ref(/*{ args }*/);
assert.sameValue(callCount, 1, 'function invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/function/params-dflt-
path: language/expressions/function/params-
name: function expression
esid: sec-function-definitions-runtime-semantics-evaluation
es6id: 14.1.20
features: [default-parameters]
info: |
FunctionExpression : function ( FormalParameters ) { FunctionBody }
@ -39,12 +37,13 @@ info: |
---*/
var callCount = 0;
var f;
f = function(/*{ params }*/) {
// Stores a reference `ref` for case evaluation
var ref;
ref = function(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
};
f(/*{ args }*/);
ref(/*{ args }*/);
assert.sameValue(callCount, 1, 'function invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/generators/params-dflt-
path: language/statements/generators/params-
name: generator function declaration
esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
es6id: 14.4.12
features: [default-parameters]
info: |
GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }
@ -39,11 +37,12 @@ info: |
---*/
var callCount = 0;
function* f(/*{ params }*/) {
// Stores a reference `ref` for case evaluation
function* ref(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
}
f(/*{ args }*/).next();
ref(/*{ args }*/).next();
assert.sameValue(callCount, 1, 'generator function invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/generators/params-dflt-
path: language/expressions/generators/params-
name: generator function expression
esid: sec-generator-function-definitions-runtime-semantics-evaluation
es6id: 14.4.14
features: [default-parameters]
info: |
GeneratorExpression : function * ( FormalParameters ) { GeneratorBody }
@ -39,12 +37,13 @@ info: |
---*/
var callCount = 0;
var f;
f = function*(/*{ params }*/) {
// Stores a reference `ref` for case evaluation
var ref;
ref = function*(/*{ params }*/) {
/*{ body }*/
callCount = callCount + 1;
};
f(/*{ args }*/).next();
ref(/*{ args }*/).next();
assert.sameValue(callCount, 1, 'generator function invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/object/method-definition/params-dflt-gen-meth-
path: language/expressions/object/method-definition/params-gen-meth-
name: generator method
esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
es6id: 14.4.13
features: [default-parameters]
info: |
GeneratorMethod :
* PropertyName ( StrictFormalParameters ) { GeneratorBody }
@ -53,4 +51,7 @@ var obj = {
obj.method(/*{ args }*/).next();
// Stores a reference `ref` for case evaluation
var ref = obj.method;
assert.sameValue(callCount, 1, 'generator method invoked exactly once');

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/object/method-definition/params-dflt-meth-
path: language/expressions/object/method-definition/params-meth-
name: method
esid: sec-runtime-semantics-definemethod
es6id: 14.3.8
features: [default-parameters]
info: |
MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
@ -50,4 +48,7 @@ var obj = {
obj.method(/*{ args }*/);
// Stores a reference `ref` for case evaluation
var ref = obj.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -13,6 +13,7 @@ info: |
2. ReturnIfAbrupt(status).
3. Return the result of performing IteratorBindingInitialization for
FormalParameter using iteratorRecord and environment as the arguments.
features: [default-parameters]
---*/
//- params

View File

@ -17,6 +17,7 @@ info: |
a. Perform ? IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
features: [default-parameters]
---*/
//- setup

View File

@ -17,6 +17,7 @@ info: |
a. Perform ? IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
features: [default-parameters]
---*/
//- params

View File

@ -21,6 +21,7 @@ info: |
- It is a Syntax Error if IsSimpleParameterList of FormalParameterList is
false and BoundNames of FormalParameterList contains any duplicate
elements.
features: [default-parameters]
---*/
//- params

View File

@ -13,6 +13,7 @@ info: |
2. ReturnIfAbrupt(status).
3. Return the result of performing IteratorBindingInitialization for
FormalParameter using iteratorRecord and environment as the arguments.
features: [default-parameters]
---*/
//- setup

View File

@ -13,6 +13,7 @@ info: |
2. ReturnIfAbrupt(status).
3. Return the result of performing IteratorBindingInitialization for
FormalParameter using iteratorRecord and environment as the arguments.
features: [default-parameters]
---*/
//- setup

View File

@ -13,6 +13,7 @@ info: |
2. ReturnIfAbrupt(status).
3. Return the result of performing IteratorBindingInitialization for
FormalParameter using iteratorRecord and environment as the arguments.
features: [default-parameters]
---*/
//- setup

View File

@ -20,6 +20,7 @@ info: |
...BindingIdentifier[?Yield]
...BindingPattern[?Yield]
features: [default-parameters]
negative:
phase: early
type: SyntaxError

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/arrow-function/params-dflt-
path: language/expressions/arrow-function/params-
name: arrow function expression
esid: sec-arrow-function-definitions-runtime-semantics-evaluation
es6id: 14.2.16
features: [default-parameters]
info: |
ArrowFunction : ArrowParameters => ConciseBody

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-gen-meth-static-
path: language/statements/class/params-gen-meth-static-
name: static class expression generator method
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
es6id: 14.5.15
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-gen-meth-
path: language/statements/class/params-gen-meth-
name: class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-meth-static-
path: language/statements/class/params-meth-static-
name: static class expression method
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
es6id: 14.5.15
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-meth-
path: language/statements/class/params-meth-
name: class expression method
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
es6id: 14.5.15
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-gen-meth-static-
path: language/expressions/class/params-gen-meth-static-
name: static class expression generator method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-gen-meth-
path: language/expressions/class/params-gen-meth-
name: class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-meth-static-
path: language/expressions/class/params-meth-static-
name: static class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-meth-
path: language/expressions/class/params-meth-
name: class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/function/params-dflt-
path: language/statements/function/params-
name: function declaration
esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
es6id: 14.1.19
features: [default-parameters]
info: |
FunctionDeclaration :
function BindingIdentifier ( FormalParameters ) { FunctionBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/function/params-dflt-
path: language/expressions/function/params-
name: function expression
esid: sec-function-definitions-runtime-semantics-evaluation
es6id: 14.1.20
features: [default-parameters]
info: |
FunctionExpression : function ( FormalParameters ) { FunctionBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/generators/params-dflt-
path: language/statements/generators/params-
name: generator function declaration
esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
es6id: 14.4.12
features: [default-parameters]
info: |
GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/generators/params-dflt-
path: language/expressions/generators/params-
name: generator function expression
esid: sec-generator-function-definitions-runtime-semantics-evaluation
es6id: 14.4.14
features: [default-parameters]
info: |
GeneratorExpression : function * ( FormalParameters ) { GeneratorBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/object/method-definition/params-dflt-gen-meth-
path: language/expressions/object/method-definition/params-gen-meth-
name: generator method
esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
es6id: 14.4.13
features: [default-parameters]
info: |
GeneratorMethod :
* PropertyName ( StrictFormalParameters ) { GeneratorBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/object/method-definition/params-dflt-meth-
path: language/expressions/object/method-definition/params-meth-
name: method
esid: sec-runtime-semantics-definemethod
es6id: 14.3.8
features: [default-parameters]
info: |
MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/arrow-function/params-dflt-
path: language/expressions/arrow-function/params-
name: arrow function expression
esid: sec-arrow-function-definitions-runtime-semantics-evaluation
es6id: 14.2.16
features: [default-parameters]
info: |
ArrowFunction : ArrowParameters => ConciseBody

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-gen-meth-static-
path: language/statements/class/params-gen-meth-static-
name: static class expression generator method
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
es6id: 14.5.15
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-gen-meth-
path: language/statements/class/params-gen-meth-
name: class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-meth-static-
path: language/statements/class/params-meth-static-
name: static class expression method
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
es6id: 14.5.15
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/class/params-dflt-meth-
path: language/statements/class/params-meth-
name: class expression method
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
es6id: 14.5.15
features: [default-parameters]
info: |
ClassDeclaration : class BindingIdentifier ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-gen-meth-static-
path: language/expressions/class/params-gen-meth-static-
name: static class expression generator method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-gen-meth-
path: language/expressions/class/params-gen-meth-
name: class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-meth-static-
path: language/expressions/class/params-meth-static-
name: static class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/class/params-dflt-meth-
path: language/expressions/class/params-meth-
name: class expression method
esid: sec-class-definitions-runtime-semantics-evaluation
es6id: 14.5.16
features: [default-parameters]
info: |
ClassExpression : class BindingIdentifieropt ClassTail

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/function/params-dflt-
path: language/statements/function/params-
name: function declaration
esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
es6id: 14.1.19
features: [default-parameters]
info: |
FunctionDeclaration :
function BindingIdentifier ( FormalParameters ) { FunctionBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/function/params-dflt-
path: language/expressions/function/params-
name: function expression
esid: sec-function-definitions-runtime-semantics-evaluation
es6id: 14.1.20
features: [default-parameters]
info: |
FunctionExpression : function ( FormalParameters ) { FunctionBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/statements/generators/params-dflt-
path: language/statements/generators/params-
name: generator function declaration
esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
es6id: 14.4.12
features: [default-parameters]
info: |
GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/generators/params-dflt-
path: language/expressions/generators/params-
name: generator function expression
esid: sec-generator-function-definitions-runtime-semantics-evaluation
es6id: 14.4.14
features: [default-parameters]
info: |
GeneratorExpression : function * ( FormalParameters ) { GeneratorBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/object/method-definition/params-dflt-gen-meth-
path: language/expressions/object/method-definition/params-gen-meth-
name: generator method
esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
es6id: 14.4.13
features: [default-parameters]
info: |
GeneratorMethod :
* PropertyName ( StrictFormalParameters ) { GeneratorBody }

View File

@ -1,11 +1,9 @@
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
path: language/expressions/object/method-definition/params-dflt-meth-
path: language/expressions/object/method-definition/params-meth-
name: method
esid: sec-runtime-semantics-definemethod
es6id: 14.3.8
features: [default-parameters]
info: |
MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }

View File

@ -0,0 +1,23 @@
// Copyright (C) 2016 Jeff Morrison. All rights reserved.
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
desc: A trailing comma should not increase the respective length, using default parameters
template: default
info: |
Trailing comma in the parameters list
14.1 Function Definitions
FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] ,
---*/
//- params
a, b = 39,
//- args
42, undefined, 1
//- body
assert.sameValue(a, 42);
assert.sameValue(b, 39);
//- teardown
assert.sameValue(ref.length, 1, 'length is properly set');

View File

@ -0,0 +1,23 @@
// Copyright (C) 2016 Jeff Morrison. All rights reserved.
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
desc: A trailing comma should not increase the respective length, using multiple parameters
template: default
info: |
Trailing comma in the parameters list
14.1 Function Definitions
FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] ,
---*/
//- params
a, b,
//- args
42, 39, 1
//- body
assert.sameValue(a, 42);
assert.sameValue(b, 39);
//- teardown
assert.sameValue(ref.length, 2, 'length is properly set');

View File

@ -0,0 +1,24 @@
// Copyright (C) 2016 Jeff Morrison. All rights reserved.
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
desc: It's a syntax error if a FunctionRestParameter is followed by a trailing comma
template: syntax
negative:
phase: early
type: SyntaxError
info: |
Trailing comma in the parameters list
14.1 Function Definitions
FormalParameters[Yield, Await] :
[empty]
FunctionRestParameter[?Yield, ?Await]
FormalParameterList[?Yield, ?Await]
FormalParameterList[?Yield, ?Await] ,
FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
---*/
//- params
...a,

View File

@ -0,0 +1,22 @@
// Copyright (C) 2016 Jeff Morrison. All rights reserved.
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
desc: A trailing comma should not increase the respective length, using a single parameter
template: default
info: |
Trailing comma in the parameters list
14.1 Function Definitions
FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] ,
---*/
//- params
a,
//- args
42, 39
//- body
assert.sameValue(a, 42);
//- teardown
assert.sameValue(ref.length, 1, 'length is properly set');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-multiple-args.case
// - src/arguments/default/cls-decl-gen-meth-static.template
/*---
description: A trailing comma should not increase the arguments.length, using multiple args (class declaration generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
static *method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], 'TC39');
callCount = callCount + 1;
}
}
C.method(42, 'TC39',).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-null.case
// - src/arguments/default/cls-decl-gen-meth-static.template
/*---
description: A trailing comma after null should not increase the arguments.length (class declaration generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
static *method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], null);
callCount = callCount + 1;
}
}
C.method(42, null,).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,37 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-single-args.case
// - src/arguments/default/cls-decl-gen-meth-static.template
/*---
description: A trailing comma should not increase the arguments.length, using a single arg (class declaration generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
static *method() {
assert.sameValue(arguments.length, 1);
assert.sameValue(arguments[0], 42);
callCount = callCount + 1;
}
}
C.method(42,).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-undefined.case
// - src/arguments/default/cls-decl-gen-meth-static.template
/*---
description: A trailing comma after undefined should not increase the arguments.length (class declaration generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
static *method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], undefined);
callCount = callCount + 1;
}
}
C.method(42, undefined,).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-multiple-args.case
// - src/arguments/default/cls-decl-gen-meth.template
/*---
description: A trailing comma should not increase the arguments.length, using multiple args (class declaration generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
*method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], 'TC39');
callCount = callCount + 1;
}
}
C.prototype.method(42, 'TC39',).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-null.case
// - src/arguments/default/cls-decl-gen-meth.template
/*---
description: A trailing comma after null should not increase the arguments.length (class declaration generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
*method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], null);
callCount = callCount + 1;
}
}
C.prototype.method(42, null,).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,37 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-single-args.case
// - src/arguments/default/cls-decl-gen-meth.template
/*---
description: A trailing comma should not increase the arguments.length, using a single arg (class declaration generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
*method() {
assert.sameValue(arguments.length, 1);
assert.sameValue(arguments[0], 42);
callCount = callCount + 1;
}
}
C.prototype.method(42,).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-undefined.case
// - src/arguments/default/cls-decl-gen-meth.template
/*---
description: A trailing comma after undefined should not increase the arguments.length (class declaration generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
*method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], undefined);
callCount = callCount + 1;
}
}
C.prototype.method(42, undefined,).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-multiple-args.case
// - src/arguments/default/cls-decl-meth-static.template
/*---
description: A trailing comma should not increase the arguments.length, using multiple args (static class declaration method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
static method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], 'TC39');
callCount = callCount + 1;
}
}
C.method(42, 'TC39',);
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-null.case
// - src/arguments/default/cls-decl-meth-static.template
/*---
description: A trailing comma after null should not increase the arguments.length (static class declaration method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
static method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], null);
callCount = callCount + 1;
}
}
C.method(42, null,);
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,37 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-single-args.case
// - src/arguments/default/cls-decl-meth-static.template
/*---
description: A trailing comma should not increase the arguments.length, using a single arg (static class declaration method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
static method() {
assert.sameValue(arguments.length, 1);
assert.sameValue(arguments[0], 42);
callCount = callCount + 1;
}
}
C.method(42,);
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-undefined.case
// - src/arguments/default/cls-decl-meth-static.template
/*---
description: A trailing comma after undefined should not increase the arguments.length (static class declaration method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
static method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], undefined);
callCount = callCount + 1;
}
}
C.method(42, undefined,);
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-multiple-args.case
// - src/arguments/default/cls-decl-meth.template
/*---
description: A trailing comma should not increase the arguments.length, using multiple args (class declaration method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], 'TC39');
callCount = callCount + 1;
}
}
C.prototype.method(42, 'TC39',);
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-null.case
// - src/arguments/default/cls-decl-meth.template
/*---
description: A trailing comma after null should not increase the arguments.length (class declaration method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], null);
callCount = callCount + 1;
}
}
C.prototype.method(42, null,);
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,37 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-single-args.case
// - src/arguments/default/cls-decl-meth.template
/*---
description: A trailing comma should not increase the arguments.length, using a single arg (class declaration method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
method() {
assert.sameValue(arguments.length, 1);
assert.sameValue(arguments[0], 42);
callCount = callCount + 1;
}
}
C.prototype.method(42,);
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-undefined.case
// - src/arguments/default/cls-decl-meth.template
/*---
description: A trailing comma after undefined should not increase the arguments.length (class declaration method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
class C {
method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], undefined);
callCount = callCount + 1;
}
}
C.prototype.method(42, undefined,);
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-multiple-args.case
// - src/arguments/default/cls-expr-gen-meth-static.template
/*---
description: A trailing comma should not increase the arguments.length, using multiple args (static class expression generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
var C = class {
static *method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], 'TC39');
callCount = callCount + 1;
}
};
C.method(42, 'TC39',).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-null.case
// - src/arguments/default/cls-expr-gen-meth-static.template
/*---
description: A trailing comma after null should not increase the arguments.length (static class expression generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
var C = class {
static *method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], null);
callCount = callCount + 1;
}
};
C.method(42, null,).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,37 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-single-args.case
// - src/arguments/default/cls-expr-gen-meth-static.template
/*---
description: A trailing comma should not increase the arguments.length, using a single arg (static class expression generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
var C = class {
static *method() {
assert.sameValue(arguments.length, 1);
assert.sameValue(arguments[0], 42);
callCount = callCount + 1;
}
};
C.method(42,).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-undefined.case
// - src/arguments/default/cls-expr-gen-meth-static.template
/*---
description: A trailing comma after undefined should not increase the arguments.length (static class expression generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
var C = class {
static *method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], undefined);
callCount = callCount + 1;
}
};
C.method(42, undefined,).next();
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-multiple-args.case
// - src/arguments/default/cls-expr-gen-meth.template
/*---
description: A trailing comma should not increase the arguments.length, using multiple args (class expression generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
var C = class {
*method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], 'TC39');
callCount = callCount + 1;
}
};
C.prototype.method(42, 'TC39',).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-null.case
// - src/arguments/default/cls-expr-gen-meth.template
/*---
description: A trailing comma after null should not increase the arguments.length (class expression generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
var C = class {
*method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], null);
callCount = callCount + 1;
}
};
C.prototype.method(42, null,).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,37 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-single-args.case
// - src/arguments/default/cls-expr-gen-meth.template
/*---
description: A trailing comma should not increase the arguments.length, using a single arg (class expression generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
var C = class {
*method() {
assert.sameValue(arguments.length, 1);
assert.sameValue(arguments[0], 42);
callCount = callCount + 1;
}
};
C.prototype.method(42,).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-undefined.case
// - src/arguments/default/cls-expr-gen-meth.template
/*---
description: A trailing comma after undefined should not increase the arguments.length (class expression generator method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
var C = class {
*method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], undefined);
callCount = callCount + 1;
}
};
C.prototype.method(42, undefined,).next();
// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/arguments/trailing-comma-multiple-args.case
// - src/arguments/default/cls-expr-meth-static.template
/*---
description: A trailing comma should not increase the arguments.length, using multiple args (static class expression method)
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
12.3 Left-Hand-Side Expressions
Arguments[Yield, Await] : ( ArgumentList[?Yield, ?Await] , )
---*/
var callCount = 0;
var C = class {
static method() {
assert.sameValue(arguments.length, 2);
assert.sameValue(arguments[0], 42);
assert.sameValue(arguments[1], 'TC39');
callCount = callCount + 1;
}
};
C.method(42, 'TC39',);
// Stores a reference `ref` for case evaluation
var ref = C.method;
assert.sameValue(callCount, 1, 'method invoked exactly once');

Some files were not shown because too many files have changed in this diff Show More