diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/AsyncFunction/AsyncFunction-construct.js')
-rw-r--r-- | js/src/tests/test262/built-ins/AsyncFunction/AsyncFunction-construct.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/AsyncFunction/AsyncFunction-construct.js b/js/src/tests/test262/built-ins/AsyncFunction/AsyncFunction-construct.js new file mode 100644 index 0000000000..dbae1415b4 --- /dev/null +++ b/js/src/tests/test262/built-ins/AsyncFunction/AsyncFunction-construct.js @@ -0,0 +1,33 @@ +// Copyright 2016 Microsoft, Inc. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Brian Terlson <brian.terlson@microsoft.com> +esid: sec-async-function-constructor +description: > + %AsyncFunction% creates functions with or without new and handles arguments + similarly to functions. +---*/ + +var AsyncFunction = async function foo() {}.constructor; +var fn; + +fn = AsyncFunction("a", "await 1;"); +assert.sameValue(fn.length, 1, "length with 1 argument, call"); + +fn = AsyncFunction("a,b", "await 1;"); +assert.sameValue(fn.length, 2, "length with 2 arguments in one, call"); + +fn = AsyncFunction("a", "b", "await 1;"); +assert.sameValue(fn.length, 2, "length with 2 arguments, call"); + +fn = new AsyncFunction("a", "await 1;"); +assert.sameValue(fn.length, 1, "length with 1 argument, construct"); + +fn = new AsyncFunction("a,b", "await 1;"); +assert.sameValue(fn.length, 2, "length with 2 arguments in one, construct"); + +fn = new AsyncFunction("a", "b", "await 1;"); +assert.sameValue(fn.length, 2, "length with 2 arguments, construct"); + +reportCompare(0, 0); |