michael@0: // Debugger.prototype.findScripts can filter scripts by URL. michael@0: var g1 = newGlobal(); michael@0: var g2 = newGlobal(); michael@0: var g3 = newGlobal(); michael@0: michael@0: // Define some functions whose url will be this test file. michael@0: g1.eval('function g1f() {}'); michael@0: g2.eval('function g2f() {}'); michael@0: michael@0: // Define some functions whose url will be a different file. michael@0: url2 = scriptdir + "Debugger-findScripts-08-script2"; michael@0: load(url2); michael@0: michael@0: var dbg = new Debugger(); michael@0: var g1w = dbg.addDebuggee(g1); michael@0: var g2w = dbg.addDebuggee(g2); michael@0: var g3w = dbg.addDebuggee(g3); michael@0: michael@0: var g1fw = g1w.makeDebuggeeValue(g1.g1f); michael@0: var g1gw = g1w.makeDebuggeeValue(g1.g1g); michael@0: var g2fw = g2w.makeDebuggeeValue(g2.g2f); michael@0: var g2gw = g2w.makeDebuggeeValue(g2.g2g); michael@0: michael@0: // Find the url of this file. michael@0: url = g1fw.script.url; michael@0: michael@0: var scripts; michael@0: michael@0: scripts = dbg.findScripts({}); michael@0: assertEq(scripts.indexOf(g1fw.script) != -1, true); michael@0: assertEq(scripts.indexOf(g1gw.script) != -1, true); michael@0: assertEq(scripts.indexOf(g2fw.script) != -1, true); michael@0: assertEq(scripts.indexOf(g2gw.script) != -1, true); michael@0: michael@0: scripts = dbg.findScripts({url:url}); michael@0: assertEq(scripts.indexOf(g1fw.script) != -1, true); michael@0: assertEq(scripts.indexOf(g1gw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2fw.script) != -1, true); michael@0: assertEq(scripts.indexOf(g2gw.script) != -1, false); michael@0: michael@0: scripts = dbg.findScripts({url:url2}); michael@0: assertEq(scripts.indexOf(g1fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g1gw.script) != -1, true); michael@0: assertEq(scripts.indexOf(g2fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2gw.script) != -1, true); michael@0: michael@0: scripts = dbg.findScripts({url:url, global:g1}); michael@0: assertEq(scripts.indexOf(g1fw.script) != -1, true); michael@0: assertEq(scripts.indexOf(g1gw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2gw.script) != -1, false); michael@0: michael@0: scripts = dbg.findScripts({url:url2, global:g1}); michael@0: assertEq(scripts.indexOf(g1fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g1gw.script) != -1, true); michael@0: assertEq(scripts.indexOf(g2fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2gw.script) != -1, false); michael@0: michael@0: scripts = dbg.findScripts({url:url, global:g2}); michael@0: assertEq(scripts.indexOf(g1fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g1gw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2fw.script) != -1, true); michael@0: assertEq(scripts.indexOf(g2gw.script) != -1, false); michael@0: michael@0: scripts = dbg.findScripts({url:url2, global:g2}); michael@0: assertEq(scripts.indexOf(g1fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g1gw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2gw.script) != -1, true); michael@0: michael@0: scripts = dbg.findScripts({url:"xlerb"}); // "XLERB"??? michael@0: assertEq(scripts.indexOf(g1fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g1gw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2gw.script) != -1, false); michael@0: michael@0: scripts = dbg.findScripts({url:url, global:g3}); michael@0: assertEq(scripts.indexOf(g1fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g1gw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2fw.script) != -1, false); michael@0: assertEq(scripts.indexOf(g2gw.script) != -1, false);