Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 // Throwing and catching an error in an onStep handler shouldn't interfere
2 // with throwing and catching in the debuggee.
4 var g = newGlobal();
5 g.eval("function f() { debugger; throw 'mud'; }");
7 var dbg = Debugger(g);
8 var stepped = false;
9 dbg.onDebuggerStatement = function (frame) {
10 frame.older.onStep = function () {
11 stepped = true;
12 try {
13 throw 'snow';
14 } catch (x) {
15 assertEq(x, 'snow');
16 }
17 };
18 };
20 stepped = false;
21 g.eval("var caught;\n" +
22 "try {\n" +
23 " f();\n" +
24 "} catch (x) {\n" +
25 " caught = x;\n" +
26 "}\n");
27 assertEq(stepped, true);
28 assertEq(g.caught, 'mud');