summaryrefslogtreecommitdiff
path: root/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-iter-rtrn-close-null.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-iter-rtrn-close-null.js')
-rw-r--r--test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-iter-rtrn-close-null.js19
1 files changed, 12 insertions, 7 deletions
diff --git a/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-iter-rtrn-close-null.js b/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-iter-rtrn-close-null.js
index ddd3f1fb0..7fb85ba02 100644
--- a/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-iter-rtrn-close-null.js
+++ b/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-iter-rtrn-close-null.js
@@ -24,12 +24,6 @@ info: |
lhs using AssignmentPattern as the goal symbol.
[...]
- AssignmentElement : DestructuringAssignmentTarget Initializer
- 1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then
- a. Let lref be the result of evaluating DestructuringAssignmentTarget.
- b. ReturnIfAbrupt(lref).
- [...]
-
ArrayAssignmentPattern : [ AssignmentElementList ]
[...]
@@ -46,8 +40,15 @@ info: |
---*/
let unreachable = 0;
+let nextCount = 0;
+let returnCount = 0;
let iterator = {
+ next() {
+ nextCount += 1;
+ return {done: false, value: undefined};
+ },
return() {
+ returnCount += 1;
return null;
}
};
@@ -59,7 +60,7 @@ let iterable = {
let iterCount = 0;
async function * fn() {
- for await ([ {}[yield] ] of [iterable]) {
+ for await ([ {} = yield ] of [iterable]) {
unreachable += 1;
iterCount += 1;
}
@@ -68,10 +69,14 @@ async function * fn() {
let iter = fn();
iter.next().then(result => {
+ assert.sameValue(nextCount, 1);
+ assert.sameValue(returnCount, 0);
assert.sameValue(result.value, undefined);
assert.sameValue(result.done, false);
iter.return().then(() => $DONE('Promise incorrectly fulfilled.'), ({ constructor }) => {
+ assert.sameValue(nextCount, 1);
+ assert.sameValue(returnCount, 1);
assert.sameValue(unreachable, 0);
assert.sameValue(constructor, TypeError);
}).then($DONE, $DONE);