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>
9 WebInspector.showPanel("sources");
10 InspectorTest.createWorkspace(true);
12 function createContentProvider(url)
14 var contentProvider = new WebInspector.StaticContentProvider(WebInspector.resourceTypes.Script, "");
15 contentProvider.requestContent = function(callback)
17 InspectorTest.addResult("Source requested for " + url);
20 return contentProvider;
23 function createMockWorkspace()
25 InspectorTest.createWorkspace(true);
26 InspectorTest.testDebuggerWorkspaceProvider = new WebInspector.SimpleWorkspaceProvider(InspectorTest.testWorkspace, WebInspector.projectTypes.Debugger);
27 return InspectorTest.testWorkspace;
30 function addNetworkFile(workspace, url)
32 return InspectorTest.testNetworkWorkspaceProvider.addFileForURL(url, createContentProvider(url), false);
35 function addDebuggerFile(workspace, url)
37 return InspectorTest.testDebuggerWorkspaceProvider.addFileForURL(url, createContentProvider(url), false);
40 InspectorTest.runTestSuite([
41 function testInitialLoad(next)
43 var workspace = createMockWorkspace();
45 addNetworkFile(workspace, "foobar.js");
47 var panel = new WebInspector.SourcesPanel(workspace);
48 panel.show(WebInspector.inspectorView.element);
50 addNetworkFile(workspace, "foo.js");
51 addNetworkFile(workspace, "bar.js");
52 var uiSourceCode = addNetworkFile(workspace, "baz.js");
53 panel._navigator.revealUISourceCode(uiSourceCode);
55 InspectorTest.dumpScriptsNavigator(panel._navigator);
58 panel._showFile(workspace.uiSourceCodeForOriginURL("baz.js"));
64 function testReset(next)
66 var workspace = createMockWorkspace();
67 var workspaceController = new WebInspector.WorkspaceController(workspace);
68 var panel = new WebInspector.SourcesPanel(workspace);
69 panel.show(WebInspector.inspectorView.element);
71 addNetworkFile(workspace, "foo.js");
72 addNetworkFile(workspace, "bar.js");
73 addNetworkFile(workspace, "baz.js");
75 InspectorTest.dumpScriptsNavigator(panel._navigator);
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);
87 function testDebuggerUISourceCodeAddedAndRemoved(next)
89 var workspace = createMockWorkspace();
90 var panel = new WebInspector.SourcesPanel(workspace);
91 panel.show(WebInspector.inspectorView.element);
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);
99 // Plug compiler source mapping.
100 addNetworkFile(workspace, "source.js");
102 InspectorTest.dumpScriptsNavigator(panel._navigator);
109 <body onload="runTest()">
110 <p>Tests that scripts panel UI elements work as intended.</p>