| <html> |
| <head> |
| <script src="../../http/tests/inspector/inspector-test.js"></script> |
| <script src="../../http/tests/inspector/debugger-test.js"></script> |
| <script> |
| function test() |
| { |
| // Always use indentation in scripts drop box |
| WebInspector._isMac = false; |
| WebInspector.showPanel("scripts"); |
| |
| var persistentBreakpoints = []; |
| var breakpointStorage = { |
| get: function() { return persistentBreakpoints; }, |
| set: function(breakpoints) { persistentBreakpoints = breakpoints; } |
| }; |
| |
| var contentProvider = { |
| contentType: function() |
| { |
| return WebInspector.resourceTypes.Script; |
| } |
| } |
| |
| function createUISouceCode(url) |
| { |
| var uiSourceCode = new WebInspector.JavaScriptSource(url, contentProvider, false); |
| uiSourceCode.requestContent = function(callback) |
| { |
| InspectorTest.addResult("Source requested for " + url); |
| callback(""); |
| }; |
| return uiSourceCode; |
| } |
| |
| InspectorTest.runTestSuite([ |
| function testInitialLoad(next) |
| { |
| var workspace = new WebInspector.Workspace(); |
| |
| var uiSourceCode = createUISouceCode("foobar.js"); |
| var uiSourceCodeFoo = createUISouceCode("foo.js"); |
| var uiSourceCodeBar = createUISouceCode("bar.js"); |
| var uiSourceCodeBaz = createUISouceCode("baz.js"); |
| |
| workspace.project().addUISourceCode(uiSourceCode); |
| |
| var panel = new WebInspector.ScriptsPanel(workspace); |
| panel.show(); |
| |
| workspace.project().addUISourceCode(uiSourceCodeFoo); |
| workspace.project().addUISourceCode(uiSourceCodeBar); |
| workspace.project().addUISourceCode(uiSourceCodeBaz); |
| |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| |
| // Select "baz.js". |
| panel._showFile(uiSourceCodeBaz); |
| panel.detach(); |
| |
| next(); |
| }, |
| |
| function testReset(next) |
| { |
| var workspace = new WebInspector.Workspace(); |
| var workspaceController = new WebInspector.WorkspaceController(workspace); |
| var panel = new WebInspector.ScriptsPanel(workspace); |
| panel.show(); |
| |
| var uiSourceCodeFoo = createUISouceCode("foo.js"); |
| var uiSourceCodeBar = createUISouceCode("bar.js"); |
| var uiSourceCodeBaz = createUISouceCode("baz.js"); |
| |
| workspace.project().addUISourceCode(uiSourceCodeFoo); |
| workspace.project().addUISourceCode(uiSourceCodeBar); |
| workspace.project().addUISourceCode(uiSourceCodeBaz); |
| |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| |
| workspaceController._mainFrameNavigated(); |
| workspace.project().addUISourceCode(uiSourceCodeBar); |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| |
| panel.detach(); |
| next(); |
| }, |
| |
| function testTemporaryUISourceCodeAddedAndRemoved(next) |
| { |
| var workspace = new WebInspector.Workspace(); |
| var panel = new WebInspector.ScriptsPanel(workspace); |
| panel.show(); |
| |
| var uiSourceCodeFoo = createUISouceCode("foo.js"); |
| workspace.project().addUISourceCode(uiSourceCodeFoo); |
| var compiledSourceCode = createUISouceCode("compiled.js"); |
| workspace.project().addTemporaryUISourceCode(compiledSourceCode); |
| |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| |
| // Plug compiler source mapping. |
| var sourceSourceCode = createUISouceCode("source.js"); |
| workspace.project().addUISourceCode(sourceSourceCode); |
| workspace.project().removeTemporaryUISourceCode(compiledSourceCode); |
| |
| InspectorTest.dumpScriptsNavigator(panel._navigator); |
| next(); |
| } |
| ]); |
| }; |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Tests that scripts panel UI elements work as intended.</p> |
| </body> |
| </html> |