Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / sources / debugger / async-callstack-eval.html
1 <html>
2 <head>
3 <script src="../../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../../http/tests/inspector/debugger-test.js"></script>
5 <script>
6
7 var a = "FAIL";
8 function testFunction()
9 {
10     var a = "PASS";
11     function inner()
12     {
13         var b = a || "FAIL";
14         setTimeout(timeout, 0);
15     }
16     inner();
17
18     a = b = "FAIL: re-assigned";
19 }
20
21 function timeout()
22 {
23     var b = "FAIL";
24     debugger;
25 }
26
27 var test = function()
28 {
29     var maxAsyncCallStackDepth = 4;
30
31     InspectorTest.setQuiet(true);
32     InspectorTest.startDebuggerTest(step1);
33
34     function step1()
35     {
36         DebuggerAgent.setAsyncCallStackDepth(maxAsyncCallStackDepth, step2);
37     }
38
39     function step2()
40     {
41         InspectorTest.runTestFunctionAndWaitUntilPaused(didPaused);
42     }
43
44     function didPaused(callFrames, reason, breakpointIds, asyncStackTrace)
45     {
46         InspectorTest.captureStackTrace(callFrames, asyncStackTrace);
47
48         var pane = WebInspector.panels.sources.sidebarPanes.callstack;
49         InspectorTest.addResult("Select call frame: " + pane.placards[1].title);
50         pane._placardSelected(pane.placards[1]);
51         InspectorTest.runAfterPendingDispatches(step3);
52     }
53
54     function step3()
55     {
56         InspectorTest.evaluateInConsoleAndDump("a", step4);
57     }
58
59     function step4()
60     {
61         InspectorTest.evaluateInConsoleAndDump("b", tearDown);
62     }
63
64     function tearDown()
65     {
66         InspectorTest.completeDebuggerTest();
67     }
68 }
69
70 </script>
71 </head>
72
73 <body onload="runTest()">
74 <p>
75 Tests evaluation in an async call frame.
76 </p>
77
78 </body>
79 </html>