Debugger-onPromiseSettled-03.js (929B)
1 // onPromiseSettled handlers on different Debugger instances are independent. 2 var g = newGlobal({newCompartment: true}); 3 var dbg1 = new Debugger(g); 4 var log1; 5 function h1(promise) { 6 log1 += 's'; 7 assertEq(promise.seen, undefined); 8 promise.seen = true; 9 } 10 11 var dbg2 = new Debugger(g); 12 var log2; 13 function h2(promise) { 14 log2 += 's'; 15 assertEq(promise.seen, undefined); 16 promise.seen = true; 17 } 18 19 log1 = log2 = ''; 20 g.settlePromiseNow(new g.Promise(function (){})); 21 assertEq(log1, ''); 22 assertEq(log2, ''); 23 24 log1 = log2 = ''; 25 dbg1.onPromiseSettled = h1; 26 g.settlePromiseNow(new g.Promise(function (){})); 27 assertEq(log1, 's'); 28 assertEq(log2, ''); 29 30 log1 = log2 = ''; 31 dbg2.onPromiseSettled = h2; 32 g.settlePromiseNow(new g.Promise(function (){})); 33 assertEq(log1, 's'); 34 assertEq(log2, 's'); 35 36 log1 = log2 = ''; 37 dbg1.onPromiseSettled = undefined; 38 g.settlePromiseNow(new g.Promise(function (){})); 39 assertEq(log1, ''); 40 assertEq(log2, 's');