Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / sources / debugger / show-function-definition.html
1 <html>
2 <head>
3 <script src="../../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../../http/tests/inspector/console-test.js"></script>
5 <script>
6
7 function jumpToMe()
8 {
9     var result = 12345;
10     return window.foo || result;
11 }
12
13 function test()
14 {
15     var jumpToMeLineNumber = 7;
16
17     var panel = WebInspector.inspectorView.showPanel("sources");
18     InspectorTest.addSniffer(panel, "showUISourceCode", showUISourceCodeHook);
19     WebInspector.context.flavor(WebInspector.ExecutionContext).evaluate("jumpToMe", "", false, true, false, false, didGetFunction);
20
21     function didGetFunction(funcObject, wasThrown)
22     {
23         var error = !funcObject || wasThrown;
24         InspectorTest.assertTrue(!error);
25         panel._showFunctionDefinition(funcObject);
26     }
27
28     function showUISourceCodeHook(uiSourceCode, lineNumber, columnNumber, forceShowInPanel)
29     {
30         // lineNumber and columnNumber are 0-based
31         ++lineNumber;
32         ++columnNumber;
33         InspectorTest.assertEquals(jumpToMeLineNumber, lineNumber);
34         InspectorTest.addResult("Jumping to " + lineNumber + ":" + columnNumber);
35
36         InspectorTest.waitUntilNthMessageReceived(2, onConsoleMessagesReceived);
37         WebInspector.ConsoleModel.evaluateCommandInConsole(WebInspector.context.flavor(WebInspector.ExecutionContext), "jumpToMe");
38     }
39
40     function onConsoleMessagesReceived()
41     {
42         var messages = [];
43         InspectorTest.disableConsoleViewport();
44         var viewMessages = WebInspector.ConsolePanel._view()._visibleViewMessages;
45         for (var i = 0; i < viewMessages.length; ++i) {
46             var uiMessage = viewMessages[i];
47             var element = uiMessage.contentElement();
48             messages.push(element.textContent);
49         }
50
51         var text = messages.join("\n");
52         if (text.indexOf("show-function-definition.html:" + jumpToMeLineNumber) !== -1)
53             InspectorTest.addResult("PASS: Console message has correct line number");
54         else
55             InspectorTest.addResult("FAIL: Wrong line number in console message:\n" + text);
56
57         InspectorTest.completeTest();
58     }
59 }
60
61 </script>
62 </head>
63
64 <body onload="runTest()">
65 <p>
66 Tests that "Show Function Definition" jumps to the correct location.
67 </p>
68
69 </body>
70 </html>