Debugger-findScripts-14.js (961B)
1 // Debugger.prototype.findScripts can find the innermost script at a given 2 // source location. 3 var g = newGlobal({newCompartment: true}); 4 var dbg = new Debugger(); 5 var gw = dbg.addDebuggee(g); 6 7 function script(f) { 8 return gw.makeDebuggeeValue(f).script; 9 } 10 11 function arrayIsOnly(array, element) { 12 return array.length == 1 && array[0] === element; 13 } 14 15 url = scriptdir + 'Debugger-findScripts-14.script1'; 16 g.load(url); 17 18 var scripts; 19 20 // When we're doing 'innermost' queries, we don't have to worry about finding 21 // random eval scripts: we should get exactly one script, for the function 22 // covering that line. 23 scripts = dbg.findScripts({url:url, line:4, innermost:true}); 24 assertEq(arrayIsOnly(scripts, script(g.f)), true); 25 26 scripts = dbg.findScripts({url:url, line:6, innermost:true}); 27 assertEq(arrayIsOnly(scripts, script(g.f())), true); 28 29 scripts = dbg.findScripts({url:url, line:8, innermost:true}); 30 assertEq(arrayIsOnly(scripts, script(g.f()())), true);