blob: 81b214d5169925d8dc4373f3e9769d4bef562594 [file] [log] [blame]
<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>