tor-browser

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

Environment-bug-1431461.js (551B)


      1 // Check that duplicate bindings are not created for let/const variables.
      2 
      3 let g = newGlobal({newCompartment: true});
      4 let dbg = new Debugger(g);
      5 
      6 g.eval(`
      7 function f(x, y=x) {
      8    let z = "Z";
      9    debugger;
     10    return x + y + z;
     11 }
     12 `);
     13 
     14 let hits = 0;
     15 let names = [];
     16 
     17 dbg.onDebuggerStatement = frame => {
     18    hits++;
     19    for (let env = frame.environment; env.type !== "object"; env = env.parent) {
     20        names.push(...env.names());
     21    }
     22 };
     23 
     24 assertEq(g.f("X", "Y"), "XYZ");
     25 assertEq(hits, 1);
     26 assertEq(names.sort().join(", "), "arguments, x, y, z");