blob: 86e1350762abfddf19b89f055e919274d4269dc1 [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()
{
var mockContentsMap = {};
var lastResourceId = 0;
NetworkAgent.getResponseBody = function(requestId, callback)
{
callback(undefined, mockContentsMap[requestId], false);
}
PageAgent.getResourceContent = function(frameId, url, callback)
{
callback(undefined, mockContentsMap[url], false);
}
function createResourceMock(type, content)
{
var documentURL = "http://fake.url";
var resourceId = ++lastResourceId + "";
var url = documentURL + "/" + resourceId;
var frameId = "frame-id";
var loaderId = "loader-id";
var mimeType;
switch (type) {
case WebInspector.resourceTypes.Document:
mimeType = "text/html";
break;
case WebInspector.resourceTypes.Script:
mimeType = "text/javascript";
break;
case WebInspector.resourceTypes.Stylesheet:
mimeType = "text/css";
break;
}
var resource = new WebInspector.Resource(null, url, documentURL, frameId, loaderId, type, mimeType);
mockContentsMap[url] = content;
WebInspector.resourceTreeModel.dispatchEventToListeners(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, resource);
return resource;
}
function finishResource(resource)
{
resource.request.finished = true;
resource.request.dispatchEventToListeners(WebInspector.NetworkRequest.Events.FinishedLoading, resource.request);
}
function createNetworkUISourceCodeProvider()
{
InspectorTest.createWorkspace();
WebInspector.resourceTreeModel = new WebInspector.Object();
var networkUISourceCodeProvider = new WebInspector.NetworkUISourceCodeProvider(InspectorTest.testNetworkWorkspaceProvider, InspectorTest.testWorkspace);
return networkUISourceCodeProvider;
}
InspectorTest.runTestSuite([
function testDocumentResource(next)
{
var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
InspectorTest.addResult("Creating resource.");
InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
var resource = createResourceMock(WebInspector.resourceTypes.Document, "<document resource content>");
function uiSourceCodeAdded(uiSourceCode)
{
InspectorTest.dumpUISourceCode(uiSourceCode, next);
}
},
function testScriptResource(next)
{
var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
InspectorTest.addResult("Creating resource.");
InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
var resource = createResourceMock(WebInspector.resourceTypes.Script, "<script resource content>");
function uiSourceCodeAdded(uiSourceCode)
{
InspectorTest.dumpUISourceCode(uiSourceCode, next);
}
},
function testStylesheetResource(next)
{
var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
InspectorTest.addResult("Creating resource.");
InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
var resource = createResourceMock(WebInspector.resourceTypes.Stylesheet, "<stylesheet resource content>");
function uiSourceCodeAdded(uiSourceCode)
{
InspectorTest.dumpUISourceCode(uiSourceCode, next);
}
},
]);
};
</script>
</head>
<body onload="runTest()">
<p>Tests NetworkUISourceCodeProvider class.</p>
</body>
</html>