| <html> |
| <head> |
| <script src="../../http/tests/inspector/inspector-test.js"></script> |
| <script src="../../http/tests/inspector/debugger-test.js"></script> |
| <script src="../../http/tests/inspector/workspace-test.js"></script> |
| <script> |
| function test() |
| { |
| WebInspector.showPanel("scripts"); |
| InspectorTest.createWorkspace(true); |
| |
| function createContentProvider(url) |
| { |
| var contentProvider = new WebInspector.StaticContentProvider(WebInspector.resourceTypes.Script, "", "text/javascript"); |
| contentProvider.requestContent = function(callback) |
| { |
| InspectorTest.addResult("Source requested for " + url); |
| callback(""); |
| }; |
| return contentProvider; |
| } |
| |
| function createMockWorkspace() |
| { |
| InspectorTest.createWorkspace(true); |
| InspectorTest.testDebuggerWorkspaceProvider = new WebInspector.SimpleWorkspaceProvider(InspectorTest.testWorkspace, WebInspector.projectTypes.Debugger); |
| return InspectorTest.testWorkspace; |
| } |
| |
| function addNetworkFile(workspace, url) |
| { |
| return InspectorTest.testNetworkWorkspaceProvider.addFileForURL(url, createContentProvider(url), false); |
| } |
| |
| function addDebuggerFile(workspace, url) |
| { |
| return InspectorTest.testDebuggerWorkspaceProvider.addFileForURL(url, createContentProvider(url), false); |
| } |
| |
| InspectorTest.runTestSuite([ |
| function testInitialLoad(next) |
| { |
| var workspace = createMockWorkspace(); |
| |
| addNetworkFile(workspace, "foobar.js"); |
| |
| var panel = new WebInspector.ScriptsPanel(workspace); |
| panel.show(); |
| |
| addNetworkFile(workspace, "foo.js"); |
| addNetworkFile(workspace, "bar.js"); |
| var uiSourceCode = addNetworkFile(workspace, "baz.js"); |
| panel._navigator.revealUISourceCode(uiSourceCode); |
| |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| |
| // Select "baz.js". |
| panel._showFile(workspace.uiSourceCodeForOriginURL("baz.js")); |
| panel.detach(); |
| |
| next(); |
| }, |
| |
| function testReset(next) |
| { |
| var workspace = createMockWorkspace(); |
| var workspaceController = new WebInspector.WorkspaceController(workspace); |
| var panel = new WebInspector.ScriptsPanel(workspace); |
| panel.show(); |
| |
| addNetworkFile(workspace, "foo.js"); |
| addNetworkFile(workspace, "bar.js"); |
| addNetworkFile(workspace, "baz.js"); |
| |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| |
| InspectorTest.testNetworkWorkspaceProvider.reset(); |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| var uiSourceCode = addNetworkFile(workspace, "bar.js"); |
| panel._navigator.revealUISourceCode(uiSourceCode); |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| |
| panel.detach(); |
| next(); |
| }, |
| |
| function testDebuggerUISourceCodeAddedAndRemoved(next) |
| { |
| var workspace = createMockWorkspace(); |
| var panel = new WebInspector.ScriptsPanel(workspace); |
| panel.show(); |
| |
| var uiSourceCode = addNetworkFile(workspace, "foo.js"); |
| var debuggerUISourceCode = addDebuggerFile(workspace, "compiled.js"); |
| panel._navigator.revealUISourceCode(uiSourceCode); |
| panel._navigator.revealUISourceCode(debuggerUISourceCode); |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| |
| // Plug compiler source mapping. |
| addNetworkFile(workspace, "source.js"); |
| |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| next(); |
| } |
| ]); |
| }; |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Tests that scripts panel UI elements work as intended.</p> |
| </body> |
| </html> |