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");