2011-01-26 Martin Robinson <mrobinson@igalia.com>
[WebKit-https.git] / LayoutTests / inspector / debugger-eval-while-paused.html
1 <html>
2 <head>
3 <script src="../http/tests/inspector/inspector-test2.js"></script>
4 <script src="../http/tests/inspector/debugger-test2.js"></script>
5 <script>
6
7 var globalVar = { b: 1 };
8
9 function slave(x)
10 {
11     var y = 20;
12     debugger;
13 }
14
15 function testFunction()
16 {
17     var localObject = { a: 300 };
18     slave(4000);
19 }
20
21 var test = function()
22 {
23     InspectorTest.startDebuggerTest(step1);
24
25     function step1()
26     {
27         InspectorTest.runTestFunctionAndWaitUntilPaused(step2);
28     }
29
30     function step2(callFrames)
31     {
32         InspectorTest.evaluateInConsole("x + y + globalVar.b", step3.bind(null, callFrames));
33     }
34
35     function step3(callFrames, result)
36     {
37         InspectorTest.addResult("Evaluated script on the top frame: " + result);
38         WebInspector.panels.scripts.sidebarPanes.callstack.selectedCallFrame = callFrames[1];
39         InspectorTest.runAfterPendingDispatches(step4);
40     }
41
42     function step4()
43     {
44         InspectorTest.evaluateInConsole("localObject.a + globalVar.b", step5);
45     }
46
47     function step5(result)
48     {
49         InspectorTest.addResult("Evaluated script on the calling frame: " + result);
50         InspectorTest.completeDebuggerTest();
51     }
52 }
53
54 </script>
55 </head>
56
57 <body onload="runTest()">
58 <p>
59 Tests that evaluation in console works fine when script is paused. It also checks that
60 stack and global variables are accessible from the console.
61 </p>
62
63 </body>
64 </html>