michael@0: // In a debuggee with multiple scripts with varying displayURLs (aka //# michael@0: // sourceURL), findScripts can filter by displayURL. michael@0: michael@0: var g = newGlobal(); michael@0: michael@0: g.eval("function f(){} //# sourceURL=f.js"); michael@0: g.eval("function g(){} //# sourceURL=g.js"); michael@0: g.eval("function h(){}"); michael@0: michael@0: var dbg = new Debugger(); michael@0: var gw = dbg.addDebuggee(g); michael@0: var fw = gw.makeDebuggeeValue(g.f); michael@0: var ggw = gw.makeDebuggeeValue(g.g); michael@0: var hw = gw.makeDebuggeeValue(g.h); michael@0: michael@0: var fScripts = dbg.findScripts({ displayURL: "f.js" }); michael@0: assertEq(fScripts.indexOf(fw.script) != -1, true); michael@0: assertEq(fScripts.indexOf(ggw.script), -1); michael@0: assertEq(fScripts.indexOf(hw.script), -1); michael@0: michael@0: var gScripts = dbg.findScripts({ displayURL: "g.js" }); michael@0: assertEq(gScripts.indexOf(ggw.script) != -1, true); michael@0: assertEq(gScripts.indexOf(fw.script), -1); michael@0: assertEq(gScripts.indexOf(hw.script), -1); michael@0: michael@0: var allScripts = dbg.findScripts(); michael@0: assertEq(allScripts.indexOf(fw.script) != -1, true); michael@0: assertEq(allScripts.indexOf(ggw.script) != -1, true); michael@0: assertEq(allScripts.indexOf(hw.script) != -1, true); michael@0: michael@0: try { michael@0: dbg.findScripts({ displayURL: 3 }); michael@0: // Should never get here because the above line should throw michael@0: // JSMSG_UNEXPECTED_TYPE. michael@0: assertEq(true, false); michael@0: } catch(e) { michael@0: assertEq(e.name, "TypeError"); michael@0: assertEq(e.message.contains("displayURL"), true); michael@0: }