Frame-onPop-async-02.js (787B)
1 // |jit-test| error:all-jobs-completed-successfully 2 3 load(libdir + 'match.js'); 4 load(libdir + 'match-debugger.js'); 5 const { Pattern } = Match; 6 const { OBJECT_WITH_EXACTLY: EXACT } = Pattern; 7 8 let g = newGlobal({newCompartment: true}); 9 let dbg = Debugger(g); 10 const log = []; 11 g.capture = function () { 12 dbg.getNewestFrame().onPop = completion => { 13 log.push(completion); 14 }; 15 }; 16 17 g.eval(` 18 async function f() { 19 capture(); 20 await Promise.resolve(3); 21 return "ok"; 22 } 23 `); 24 25 26 const promise = g.f(); 27 promise.then(value => { 28 assertEq(value, "ok"); 29 30 Pattern([ 31 EXACT({ return: new DebuggerObjectPattern("Promise"), await:true }), 32 EXACT({ return: new DebuggerObjectPattern("Promise") }), 33 ]).assert(log); 34 35 throw "all-jobs-completed-successfully"; 36 });