summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/bug1814020.js
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();