Upstream version 5.34.98.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / debugger / scripts-panel.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 src="../../http/tests/inspector/workspace-test.js"></script>
6 <script>
7 function test()
8 {
9     WebInspector.showPanel("sources");
10     InspectorTest.createWorkspace(true);
11
12     function createContentProvider(url)
13     {
14         var contentProvider = new WebInspector.StaticContentProvider(WebInspector.resourceTypes.Script, "");
15         contentProvider.requestContent = function(callback)
16         {
17             InspectorTest.addResult("Source requested for " + url);
18             callback("");
19         };
20         return contentProvider;
21     }
22
23     function createMockWorkspace()
24     {
25         InspectorTest.createWorkspace(true);
26         InspectorTest.testDebuggerWorkspaceProvider = new WebInspector.SimpleWorkspaceProvider(InspectorTest.testWorkspace, WebInspector.projectTypes.Debugger);
27         return InspectorTest.testWorkspace;
28     }
29
30     function addNetworkFile(workspace, url)
31     {
32         return InspectorTest.testNetworkWorkspaceProvider.addFileForURL(url, createContentProvider(url), false);
33     }
34
35     function addDebuggerFile(workspace, url)
36     {
37         return InspectorTest.testDebuggerWorkspaceProvider.addFileForURL(url, createContentProvider(url), false);
38     }
39
40     InspectorTest.runTestSuite([
41         function testInitialLoad(next)
42         {
43             var workspace = createMockWorkspace();
44
45             addNetworkFile(workspace, "foobar.js");
46
47             var panel = new WebInspector.SourcesPanel(workspace);
48             panel.show(WebInspector.inspectorView.element);
49
50             addNetworkFile(workspace, "foo.js");
51             addNetworkFile(workspace, "bar.js");
52             var uiSourceCode = addNetworkFile(workspace, "baz.js");
53             panel._navigator.revealUISourceCode(uiSourceCode);
54
55             InspectorTest.dumpScriptsNavigator(panel._navigator);
56
57             // Select "baz.js".
58             panel._showFile(workspace.uiSourceCodeForOriginURL("baz.js"));
59             panel.detach();
60
61             next();
62         },
63
64         function testReset(next)
65         {
66             var workspace = createMockWorkspace();
67             var workspaceController = new WebInspector.WorkspaceController(workspace);
68             var panel = new WebInspector.SourcesPanel(workspace);
69             panel.show(WebInspector.inspectorView.element);
70
71             addNetworkFile(workspace, "foo.js");
72             addNetworkFile(workspace, "bar.js");
73             addNetworkFile(workspace, "baz.js");
74
75             InspectorTest.dumpScriptsNavigator(panel._navigator);
76
77             InspectorTest.testNetworkWorkspaceProvider.reset();
78             InspectorTest.dumpScriptsNavigator(panel._navigator);
79             var uiSourceCode = addNetworkFile(workspace, "bar.js");
80             panel._navigator.revealUISourceCode(uiSourceCode);
81             InspectorTest.dumpScriptsNavigator(panel._navigator);
82
83             panel.detach();
84             next();
85         },
86
87         function testDebuggerUISourceCodeAddedAndRemoved(next)
88         {
89             var workspace = createMockWorkspace();
90             var panel = new WebInspector.SourcesPanel(workspace);
91             panel.show(WebInspector.inspectorView.element);
92
93             var uiSourceCode = addNetworkFile(workspace, "foo.js");
94             var debuggerUISourceCode = addDebuggerFile(workspace, "compiled.js");
95             panel._navigator.revealUISourceCode(uiSourceCode);
96             panel._navigator.revealUISourceCode(debuggerUISourceCode);
97             InspectorTest.dumpScriptsNavigator(panel._navigator);
98
99             // Plug compiler source mapping.
100             addNetworkFile(workspace, "source.js");
101
102             InspectorTest.dumpScriptsNavigator(panel._navigator);
103             next();
104         }
105     ]);
106 };
107 </script>
108 </head>
109 <body onload="runTest()">
110 <p>Tests that scripts panel UI elements work as intended.</p>
111 </body>
112 </html>