tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Object-defineProperty-09.js (618B)


      1 // defineProperty can't re-define non-configurable properties.
      2 // Also: when defineProperty throws, the exception is native to the debugger
      3 // compartment, not a wrapper.
      4 
      5 var g = newGlobal({newCompartment: true});
      6 var dbg = new Debugger;
      7 var gw = dbg.addDebuggee(g);
      8 gw.defineProperty("p", {value: 1});
      9 g.p = 4;
     10 assertEq(g.p, 1);
     11 
     12 var threw;
     13 try {
     14    gw.defineProperty("p", {value: 2});
     15    threw = false;
     16 } catch (exc) {
     17    threw = true;
     18    assertEq(exc instanceof TypeError, true);
     19    assertEq(typeof exc.message, "string");
     20    assertEq(typeof exc.stack, "string");
     21 }
     22 assertEq(threw, true);
     23 
     24 assertEq(g.p, 1);