js/src/jit-test/tests/debug/Debugger-findScripts-18.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/debug/Debugger-findScripts-18.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,39 @@
     1.4 +// In a debuggee with multiple scripts with varying displayURLs (aka //#
     1.5 +// sourceURL), findScripts can filter by displayURL.
     1.6 +
     1.7 +var g = newGlobal();
     1.8 +
     1.9 +g.eval("function f(){} //# sourceURL=f.js");
    1.10 +g.eval("function g(){} //# sourceURL=g.js");
    1.11 +g.eval("function h(){}");
    1.12 +
    1.13 +var dbg = new Debugger();
    1.14 +var gw = dbg.addDebuggee(g);
    1.15 +var fw = gw.makeDebuggeeValue(g.f);
    1.16 +var ggw = gw.makeDebuggeeValue(g.g);
    1.17 +var hw = gw.makeDebuggeeValue(g.h);
    1.18 +
    1.19 +var fScripts = dbg.findScripts({ displayURL: "f.js" });
    1.20 +assertEq(fScripts.indexOf(fw.script) != -1, true);
    1.21 +assertEq(fScripts.indexOf(ggw.script), -1);
    1.22 +assertEq(fScripts.indexOf(hw.script), -1);
    1.23 +
    1.24 +var gScripts = dbg.findScripts({ displayURL: "g.js" });
    1.25 +assertEq(gScripts.indexOf(ggw.script) != -1, true);
    1.26 +assertEq(gScripts.indexOf(fw.script), -1);
    1.27 +assertEq(gScripts.indexOf(hw.script), -1);
    1.28 +
    1.29 +var allScripts = dbg.findScripts();
    1.30 +assertEq(allScripts.indexOf(fw.script) != -1, true);
    1.31 +assertEq(allScripts.indexOf(ggw.script) != -1, true);
    1.32 +assertEq(allScripts.indexOf(hw.script) != -1, true);
    1.33 +
    1.34 +try {
    1.35 +  dbg.findScripts({ displayURL: 3 });
    1.36 +  // Should never get here because the above line should throw
    1.37 +  // JSMSG_UNEXPECTED_TYPE.
    1.38 +  assertEq(true, false);
    1.39 +} catch(e) {
    1.40 +  assertEq(e.name, "TypeError");
    1.41 +  assertEq(e.message.contains("displayURL"), true);
    1.42 +}

mercurial