Frame-older-generators-05.js (546B)
1 // Test that Debugger.Frame.prototype.older works on suspended async generators. 2 3 load(libdir + "asserts.js"); 4 5 const g = newGlobal({ newCompartment: true }); 6 const dbg = new Debugger(g); 7 8 g.eval(` 9 async function* f() { 10 await Promise.resolve(); 11 } 12 `); 13 14 let frame; 15 dbg.onEnterFrame = f => { 16 frame = f; 17 dbg.onEnterFrame = undefined; 18 }; 19 20 (async () => { 21 const it = g.f(); 22 23 assertEq(frame.older, null); 24 25 const promise = it.next(); 26 27 assertEq(frame.older, null); 28 29 await promise; 30 31 assertThrowsInstanceOf(() => frame.older, Error); 32 })();