diff options
Diffstat (limited to 'test/built-ins/AsyncGeneratorFunction/instance-construct-throws.js')
-rw-r--r-- | test/built-ins/AsyncGeneratorFunction/instance-construct-throws.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/built-ins/AsyncGeneratorFunction/instance-construct-throws.js b/test/built-ins/AsyncGeneratorFunction/instance-construct-throws.js new file mode 100644 index 000000000..eba1a5f31 --- /dev/null +++ b/test/built-ins/AsyncGeneratorFunction/instance-construct-throws.js @@ -0,0 +1,31 @@ +// Copyright 2018 Valerie Young. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-asyncgeneratorfunction +description: The instance created by AsyncGeneratorFunction is not a constructor +info: | + AsyncGeneratorFunction ( p1, p2, … , pn, body ) + ... + 3. Return ? CreateDynamicFunction(C, NewTarget, "async generator", args). + + Runtime Semantics: CreateDynamicFunction( constructor, newTarget, kind, args ) + ... + 32. Let F be FunctionAllocate(proto, strict, kind). + ... + + FunctionAllocate ( functionPrototype, strict, functionKind ) + // [[Construct]] and [[ConstructKind]] are not set for functionKind="async generators" + +features: [async-iteration] +---*/ + +var AsyncGeneratorFunction = Object.getPrototypeOf(async function* () {}).constructor; + +var instance = AsyncGeneratorFunction(); + +assert.throws(TypeError, function() { + new instance(); +}) + + |