// Basic onExceptionUnwind hook test. load(libdir + "asserts.js"); var g = newGlobal(); var dbg = Debugger(g); var hit = false; dbg.onExceptionUnwind = function (frame, exc) { // onExceptionUnwind is called multiple times as the stack is unwound. // Only check the first hit. assertEq(arguments.length, 2); assertEq(frame instanceof Debugger.Frame, true); if (!hit) { assertEq(exc, 101); assertEq(frame.type, "call"); assertEq(frame.callee.name, "f"); assertEq(frame.older.type, "eval"); hit = true; } }; g.eval("function f() { throw 101; }"); assertThrowsValue(function () { g.eval("f();"); }, 101); assertEq(hit, true);