Object-displayName-01.js (718B)
1 // Debugger.Object.prototype.displayName 2 3 var g = newGlobal({newCompartment: true}); 4 var dbg = Debugger(g); 5 var name; 6 dbg.onDebuggerStatement = function (frame) { name = frame.callee.displayName; }; 7 8 g.eval("(function f() { debugger; })();"); 9 assertEq(name, "f"); 10 g.eval("(function () { debugger; })();"); 11 assertEq(name, undefined); 12 g.eval("Function('debugger;')();"); 13 assertEq(name, "anonymous"); 14 g.eval("var f = function() { debugger; }; f()"); 15 assertEq(name, "f"); 16 g.eval("var a = {}; a.f = function() { debugger; }; a.f()"); 17 assertEq(name, "a.f"); 18 g.eval("(async function grondo() { debugger; })();"); 19 assertEq(name, "grondo"); 20 g.eval("(async function* estux() { debugger; })().next();"); 21 assertEq(name, "estux");