summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-08.js
blob: f981e8ae062bb466880cc5d908a780b2dd12724d (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
// Creating a global within an onNewGlobalObject handler causes a recursive handler invocation.
//
// This isn't really desirable behavior, as presumably a global created while a
// handler is running is one the debugger is creating for its own purposes and
// should not be observed, but if this behavior changes, we sure want to know.

var dbg = new Debugger;
var log;
var depth;

dbg.onNewGlobalObject = function (global) {
  log += '('; depth++;

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

  if (depth < 3)
    newGlobal();

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

log = '';
depth = 0;
newGlobal();
assertEq(log, '((()))');