Source-text-01.js (698B)
1 /* 2 * Debugger.Source.prototype.text should return a string. Moreover, it 3 * should be the same string for each child script sharing that 4 * Debugger.Source. 5 */ 6 let g = newGlobal({newCompartment: true}); 7 let dbg = new Debugger(g); 8 9 var count = 0; 10 dbg.onNewScript = function (script) { 11 var text = script.source.text; 12 assertEq(typeof text, "string"); 13 function traverse(script) { 14 ++count; 15 script.getChildScripts().forEach(function (script) { 16 assertEq(script.source.text, text); 17 traverse(script); 18 }); 19 }; 20 traverse(script); 21 } 22 23 g.eval("2 * 3"); 24 g.eval("function f() {}"); 25 g.eval("function f() { function g() {} }"); 26 assertEq(count, 6);