js/src/jit-test/tests/debug/Frame-onPop-disabled.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // An onPop handler in a disabled Debugger's frame shouldn't fire.
     3 var g = newGlobal();
     4 var dbg = new Debugger(g);
     5 g.eval('function f() { debugger; }');
     6 var log;
     7 dbg.onEnterFrame = function handleEnterFrame(f) {
     8     log += '(';
     9     assertEq(f.callee.name, 'f');
    10     f.onPop = function handlePop(c) {
    11         log += ')';
    12         assertEq(dbg.enabled, true);
    13     };
    14 };
    16 var enable;
    17 dbg.onDebuggerStatement = function handleDebugger(f) {
    18     dbg.enabled = enable;
    19 }
    22 // This should fire the onEnterFrame and onPop handlers.
    23 log = 'a';
    24 enable = true;
    25 g.f();
    27 // This should fire the onEnterFrame handler, but not the onPop.
    28 log += 'b';
    29 enable = false;
    30 g.f();
    32 // This should fire neither.
    33 log += 'c';
    34 dbg.enabled = false;
    35 enable = false;
    36 g.f();
    38 // This should fire both again.
    39 log += 'd';
    40 dbg.enabled = true;
    41 enable = true;
    42 g.f();
    44 assertEq(log, 'a()b(cd()');

mercurial