summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/AsyncGeneratorFunction/has-instance.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/built-ins/AsyncGeneratorFunction/has-instance.js')
-rw-r--r--js/src/tests/test262/built-ins/AsyncGeneratorFunction/has-instance.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/AsyncGeneratorFunction/has-instance.js b/js/src/tests/test262/built-ins/AsyncGeneratorFunction/has-instance.js
new file mode 100644
index 0000000000..4508320049
--- /dev/null
+++ b/js/src/tests/test262/built-ins/AsyncGeneratorFunction/has-instance.js
@@ -0,0 +1,36 @@
+// Copyright (C) 2018 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-properties-of-asyncgeneratorfunction
+description: >
+ AsyncGenerator function instances are correctly reported as instances of the
+ AsyncGeneratorFunction intrinsic.
+features: [async-iteration]
+---*/
+
+var AsyncGeneratorFunction = Object.getPrototypeOf(async function* () {}).constructor;
+
+async function* agDecl() {}
+var agExpr = async function* () {};
+
+assert(
+ agDecl instanceof AsyncGeneratorFunction,
+ 'AsyncGenerators created via AsyncGeneratorDeclaration syntax are proper instances of AsyncGeneratorFunction'
+);
+
+assert(
+ agExpr instanceof AsyncGeneratorFunction,
+ 'AsyncGenerators created via AsyncGeneratorExpression syntax are proper instances of AsyncGeneratorFunction'
+);
+
+assert(
+ new AsyncGeneratorFunction() instanceof AsyncGeneratorFunction,
+ 'AsyncGenerators created via constructor invocation of AsyncGeneratorFunction are proper instances of AsyncGeneratorFunction'
+);
+
+assert(
+ AsyncGeneratorFunction() instanceof AsyncGeneratorFunction,
+ 'AsyncGenerators created via function invocation of AsyncGeneratorFunction are proper instances of AsyncGeneratorFunction'
+);
+
+reportCompare(0, 0);