Script-sourceStart-04.js (695B)
1 /* 2 * For eval and Function constructors, Script.prototype.sourceStart and 3 * Script.prototype.sourceLength should comprise the entire script (excluding 4 * arguments in the case of Function constructors) 5 */ 6 let g = newGlobal({newCompartment: true}); 7 let dbg = new Debugger(g); 8 9 var count = 0; 10 function test(string, range) { 11 dbg.onNewScript = function (script) { 12 ++count; 13 if (count % 2 == 0) { 14 assertEq(script.sourceStart, range[0]); 15 assertEq(script.sourceLength, range[1]); 16 } 17 } 18 19 g.eval(string); 20 } 21 22 test("eval('2 * 3')", [0, 5]); 23 test("new Function('2 * 3')", [0, 31]); 24 test("new Function('x', 'x * x')", [0, 32]); 25 assertEq(count, 6);