blob: 7036616347bf74ddcd89cc6403e4dcf6a912be72 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
const dbg = newGlobal({ sameZoneAs: this }).Debugger(this);
async function* inspectingGenerator() {
await undefined;
const frame = dbg.getNewestFrame();
const asyncPromise = frame.asyncPromise;
assertEq(asyncPromise.getPromiseReactions().length, 0);
}
async function* emptyGenerator() {}
const gen = inspectingGenerator();
const inspectingGenPromise = gen.next();
const emptyGen = emptyGenerator();
// Close generator.
emptyGen.next();
// Creates a reaction record on the inspectingGenPromise which points to the
// closed emptyGen generator.
emptyGen.return(inspectingGenPromise);
// Execute the inspectingGenerator() code after `await`, which gets the
// promise reactions (potentially including the closed emptyGen generator)
drainJobQueue();
|