Object-getProperty-02.js (696B)
1 // tests calling script functions via Debugger.Object.prototype.getProperty 2 // to see if they trigger debugger traps 3 "use strict"; 4 5 var global = newGlobal({newCompartment: true}); 6 var dbg = new Debugger(global); 7 dbg.onDebuggerStatement = onDebuggerStatement; 8 9 let obj; 10 global.eval(` 11 const obj = { 12 get prop() { 13 debugger; 14 return 42; 15 } 16 }; 17 18 debugger; 19 `); 20 21 22 function onDebuggerStatement(frame) { 23 dbg.onDebuggerStatement = onDebuggerStatementGetter; 24 25 obj = frame.environment.getVariable("obj"); 26 } 27 28 let debuggerRan = false; 29 30 assertEq(obj.getProperty("prop").return, 42); 31 assertEq(debuggerRan, true); 32 33 function onDebuggerStatementGetter(frame) { 34 debuggerRan = true; 35 }