summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Debugger-onNewPromise-05.js
blob: 29edfeeddd8b2abe7946b0c205bae190701d6ec2 (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
27
// Creating a promise within an onNewPromise handler causes a recursive handler
// invocation.
if (!('Promise' in this))
    quit(0);

var g = newGlobal();
var dbg = new Debugger();
var gw = dbg.addDebuggee(g);
var log;
var depth;

dbg.onNewPromise = function (promise) {
  log += '('; depth++;

  assertEq(promise.seen, undefined);
  promise.seen = true;

  if (depth < 3)
      gw.executeInGlobal(`new Promise(_=>{})`);

  log += ')'; depth--;
};

log = '';
depth = 0;
new g.Promise(function (){});
assertEq(log, '((()))');