Debugger-onNewPromise-05.js (508B)
1 // Creating a promise within an onNewPromise handler causes a recursive handler 2 // invocation. 3 var g = newGlobal({newCompartment: true}); 4 var dbg = new Debugger(); 5 var gw = dbg.addDebuggee(g); 6 var log; 7 var depth; 8 9 dbg.onNewPromise = function (promise) { 10 log += '('; depth++; 11 12 assertEq(promise.seen, undefined); 13 promise.seen = true; 14 15 if (depth < 3) 16 gw.executeInGlobal(`new Promise(_=>{})`); 17 18 log += ')'; depth--; 19 }; 20 21 log = ''; 22 depth = 0; 23 new g.Promise(function (){}); 24 assertEq(log, '((()))');