summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-10.js
blob: ce90ed541a08d89ee8d3a81bd1eefc6d3e215ea6 (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
// An earlier onNewGlobalObject handler returning a 'throw' resumption
// value causes later handlers not to run.

load(libdir + 'asserts.js');

var dbg1 = new Debugger;
var dbg2 = new Debugger;
var dbg3 = new Debugger;
var log;
var count;

dbg1.onNewGlobalObject = dbg2.onNewGlobalObject = dbg3.onNewGlobalObject = function (global) {
  count++;
  log += count;
  if (count == 2)
    return { throw: "snoo" };
  return undefined;
};
dbg2.uncaughtExceptionHook = function (exn) {
  assertEq(/disallowed/.test(exn), true);
  log += 'u';
};

log = '';
count = 0;
assertEq(typeof newGlobal(), "object");
assertEq(log, '12u3');