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