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

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:0cdb15a1e025
1 // Debugger.prototype.findScripts can filter scripts by URL.
2 var g1 = newGlobal();
3 var g2 = newGlobal();
4 var g3 = newGlobal();
5
6 // Define some functions whose url will be this test file.
7 g1.eval('function g1f() {}');
8 g2.eval('function g2f() {}');
9
10 // Define some functions whose url will be a different file.
11 url2 = scriptdir + "Debugger-findScripts-08-script2";
12 load(url2);
13
14 var dbg = new Debugger();
15 var g1w = dbg.addDebuggee(g1);
16 var g2w = dbg.addDebuggee(g2);
17 var g3w = dbg.addDebuggee(g3);
18
19 var g1fw = g1w.makeDebuggeeValue(g1.g1f);
20 var g1gw = g1w.makeDebuggeeValue(g1.g1g);
21 var g2fw = g2w.makeDebuggeeValue(g2.g2f);
22 var g2gw = g2w.makeDebuggeeValue(g2.g2g);
23
24 // Find the url of this file.
25 url = g1fw.script.url;
26
27 var scripts;
28
29 scripts = dbg.findScripts({});
30 assertEq(scripts.indexOf(g1fw.script) != -1, true);
31 assertEq(scripts.indexOf(g1gw.script) != -1, true);
32 assertEq(scripts.indexOf(g2fw.script) != -1, true);
33 assertEq(scripts.indexOf(g2gw.script) != -1, true);
34
35 scripts = dbg.findScripts({url:url});
36 assertEq(scripts.indexOf(g1fw.script) != -1, true);
37 assertEq(scripts.indexOf(g1gw.script) != -1, false);
38 assertEq(scripts.indexOf(g2fw.script) != -1, true);
39 assertEq(scripts.indexOf(g2gw.script) != -1, false);
40
41 scripts = dbg.findScripts({url:url2});
42 assertEq(scripts.indexOf(g1fw.script) != -1, false);
43 assertEq(scripts.indexOf(g1gw.script) != -1, true);
44 assertEq(scripts.indexOf(g2fw.script) != -1, false);
45 assertEq(scripts.indexOf(g2gw.script) != -1, true);
46
47 scripts = dbg.findScripts({url:url, global:g1});
48 assertEq(scripts.indexOf(g1fw.script) != -1, true);
49 assertEq(scripts.indexOf(g1gw.script) != -1, false);
50 assertEq(scripts.indexOf(g2fw.script) != -1, false);
51 assertEq(scripts.indexOf(g2gw.script) != -1, false);
52
53 scripts = dbg.findScripts({url:url2, global:g1});
54 assertEq(scripts.indexOf(g1fw.script) != -1, false);
55 assertEq(scripts.indexOf(g1gw.script) != -1, true);
56 assertEq(scripts.indexOf(g2fw.script) != -1, false);
57 assertEq(scripts.indexOf(g2gw.script) != -1, false);
58
59 scripts = dbg.findScripts({url:url, global:g2});
60 assertEq(scripts.indexOf(g1fw.script) != -1, false);
61 assertEq(scripts.indexOf(g1gw.script) != -1, false);
62 assertEq(scripts.indexOf(g2fw.script) != -1, true);
63 assertEq(scripts.indexOf(g2gw.script) != -1, false);
64
65 scripts = dbg.findScripts({url:url2, global:g2});
66 assertEq(scripts.indexOf(g1fw.script) != -1, false);
67 assertEq(scripts.indexOf(g1gw.script) != -1, false);
68 assertEq(scripts.indexOf(g2fw.script) != -1, false);
69 assertEq(scripts.indexOf(g2gw.script) != -1, true);
70
71 scripts = dbg.findScripts({url:"xlerb"}); // "XLERB"???
72 assertEq(scripts.indexOf(g1fw.script) != -1, false);
73 assertEq(scripts.indexOf(g1gw.script) != -1, false);
74 assertEq(scripts.indexOf(g2fw.script) != -1, false);
75 assertEq(scripts.indexOf(g2gw.script) != -1, false);
76
77 scripts = dbg.findScripts({url:url, global:g3});
78 assertEq(scripts.indexOf(g1fw.script) != -1, false);
79 assertEq(scripts.indexOf(g1gw.script) != -1, false);
80 assertEq(scripts.indexOf(g2fw.script) != -1, false);
81 assertEq(scripts.indexOf(g2gw.script) != -1, false);

mercurial