mirror of
https://github.com/tc39/test262.git
synced 2025-07-01 19:24:42 +02:00
[explicit-resource-management] Add test for async generator body
This cl adds a test for having `await using` in the async generator function body. Bug: 42203814 Change-Id: I30c0d2fe354a3047f67a4a71f7c6472c3d832bbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5867651 Commit-Queue: Rezvan Mahdavi Hezaveh <rezvan@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#96146}
This commit is contained in:
parent
867ca540d6
commit
dfece8cfc5
@ -0,0 +1,33 @@
|
|||||||
|
// Copyright (C) 2024 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
description: Test if disposed methods are called correctly in generator body.
|
||||||
|
includes: [asyncHelpers.js, compareArray.js]
|
||||||
|
flags: [async]
|
||||||
|
features: [explicit-resource-management]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
asyncTest(async function() {
|
||||||
|
let generatorBodyValues = [];
|
||||||
|
|
||||||
|
async function* gen() {
|
||||||
|
await using x = {
|
||||||
|
value: 1,
|
||||||
|
[Symbol.asyncDispose]() {
|
||||||
|
generatorBodyValues.push(42);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
yield x;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function TestUsingInGeneratorBody() {
|
||||||
|
let iter = gen();
|
||||||
|
await iter.next();
|
||||||
|
assert.compareArray(generatorBodyValues, []);
|
||||||
|
iter.next().then((result) => assert.sameValue(result.value, 1));
|
||||||
|
generatorBodyValues.push(43);
|
||||||
|
}
|
||||||
|
await TestUsingInGeneratorBody();
|
||||||
|
assert.compareArray(generatorBodyValues, [42, 43]);
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user