blob: de75002ab29212864caeae4b2435ea71b366a904 [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 src="../http/tests/inspector/isolated-filesystem-test.js"></script>
<script>
function test()
{
function dumpUISourceCodes(uiSourceCodes, next)
{
innerDumpUISourceCodes(uiSourceCodes, 0, next);
function innerDumpUISourceCodes(uiSourceCodes, startIndex, next)
{
InspectorTest.addResult("");
if (startIndex === uiSourceCodes.length) {
next();
return;
}
InspectorTest.dumpUISourceCode(uiSourceCodes[startIndex], innerDumpUISourceCodes.bind(this, uiSourceCodes, startIndex + 1, next));
}
}
InspectorTest.runTestSuite([
function testFileSystems(next)
{
InspectorTest.createWorkspace();
var manager = InspectorTest.createIsolatedFileSystemManager(InspectorTest.testWorkspace, InspectorTest.testFileSystemMapping);
var uiSourceCodes = [];
var entry1 = new WebInspector.FileMapping.Entry("http://localhost/", "/var/www/localhost/");
var entry2 = new WebInspector.FileMapping.Entry("http://www.example.com/", "/foo/bar/");
InspectorTest.testFileMapping.setMappingEntries([entry1, entry2]);
InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 3);
InspectorTest.addResult("Adding first file system.");
manager.addMockFileSystem("/var/www", {"/localhost/foo.js": "<foo content>", "/bar.js": "<bar content>"});
InspectorTest.addResult("Adding second file system.");
manager.addMockFileSystem("/foo/bar", {"/baz.js": "<baz content>"});
dumpUISourceCodes(uiSourceCodes, uiSourceCodesDumped);
function uiSourceCodeAdded(uiSourceCode)
{
uiSourceCodes.push(uiSourceCode)
}
function uiSourceCodesDumped()
{
InspectorTest.addResult("UISourceCode uri to url mappings:");
for (var i = 0; i < uiSourceCodes.length; ++i) {
var url = uiSourceCodes[i].url;
if (!url)
continue;
InspectorTest.addResult(" " + uiSourceCodes[i].uri() + " -> " + uiSourceCodes[i].url);
}
InspectorTest.addResult("UISourceCode url to uri mappings:");
for (var i = 0; i < uiSourceCodes.length; ++i) {
var url = uiSourceCodes[i].url;
if (!url)
continue;
var uri = InspectorTest.testWorkspace.uiSourceCodeForURL(url).uri();
InspectorTest.addResult(" " + url + " -> " + uri);
}
var uiSourceCodesCount = InspectorTest.testWorkspace.uiSourceCodes().length;
InspectorTest.addResult("Removing second file system.");
manager.removeMockFileSystem("/var/www");
InspectorTest.addResult(" number of uiSourceCodes in workspace after removing second file system: " + InspectorTest.testWorkspace.uiSourceCodes().length);
InspectorTest.addResult("Removing first file system.");
manager.removeMockFileSystem("/foo/bar");
InspectorTest.addResult(" number of uiSourceCodes in workspace after removing first file system: " + InspectorTest.testWorkspace.uiSourceCodes().length);
next();
}
},
]);
};
</script>
</head>
<body onload="runTest()">
<p>Tests file system project.</p>
</body>
</html>