3 <script src="../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../http/tests/inspector/debugger-test.js"></script>
5 <script src="../../http/tests/inspector/workspace-test.js"></script>
9 var mockContentsMap = {};
10 var lastResourceId = 0;
12 NetworkAgent.getResponseBody = function(requestId, callback)
14 callback(undefined, mockContentsMap[requestId], false);
17 PageAgent.getResourceContent = function(frameId, url, callback)
19 callback(undefined, mockContentsMap[url], false);
22 function createResourceMock(type, content)
24 var documentURL = "http://fake.url";
25 var resourceId = ++lastResourceId + "";
26 var url = documentURL + "/" + resourceId;
27 var frameId = "frame-id";
28 var loaderId = "loader-id";
31 case WebInspector.resourceTypes.Document:
32 mimeType = "text/html";
34 case WebInspector.resourceTypes.Script:
35 mimeType = "text/javascript";
37 case WebInspector.resourceTypes.Stylesheet:
38 mimeType = "text/css";
42 var resource = new WebInspector.Resource(null, url, documentURL, frameId, loaderId, type, mimeType);
43 mockContentsMap[url] = content;
44 WebInspector.resourceTreeModel.dispatchEventToListeners(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, resource);
49 function createScriptMock(content)
51 var documentURL = "http://fake.url";
52 var resourceId = ++lastResourceId + "";
53 var url = documentURL + "/" + resourceId;
54 var script = InspectorTest.createScriptMock(url, 0, 0, false, content);
55 WebInspector.debuggerModel.dispatchEventToListeners(WebInspector.DebuggerModel.Events.ParsedScriptSource, script);
58 function finishResource(resource)
60 resource.request.finished = true;
61 resource.request.dispatchEventToListeners(WebInspector.NetworkRequest.Events.FinishedLoading, resource.request);
64 function createNetworkUISourceCodeProvider()
66 InspectorTest.createWorkspace();
67 WebInspector.resourceTreeModel = new WebInspector.Object();
68 WebInspector.debuggerModel = new WebInspector.Object();
69 WebInspector.debuggerModel._registerScript = function(){};
70 var networkUISourceCodeProvider = new WebInspector.NetworkUISourceCodeProvider(InspectorTest.testNetworkWorkspaceProvider, InspectorTest.testWorkspace);
71 return networkUISourceCodeProvider;
74 InspectorTest.runTestSuite([
75 function testDocumentResource(next)
77 var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
78 InspectorTest.addResult("Creating resource.");
79 InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
80 createResourceMock(WebInspector.resourceTypes.Document, "<document resource content>");
82 function uiSourceCodeAdded(uiSourceCode)
84 InspectorTest.dumpUISourceCode(uiSourceCode, next);
88 function testScriptResource(next)
90 var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
91 InspectorTest.addResult("Creating resource.");
92 InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
93 createResourceMock(WebInspector.resourceTypes.Script, "<script resource content>");
95 function uiSourceCodeAdded(uiSourceCode)
97 InspectorTest.dumpUISourceCode(uiSourceCode, next);
101 function testVMScript(next)
103 var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
104 InspectorTest.addResult("Creating script.");
105 InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
106 createScriptMock("<script content>");
108 function uiSourceCodeAdded(uiSourceCode)
110 InspectorTest.dumpUISourceCode(uiSourceCode, next);
114 function testStylesheetResource(next)
116 var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
117 InspectorTest.addResult("Creating resource.");
118 InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
119 createResourceMock(WebInspector.resourceTypes.Stylesheet, "<stylesheet resource content>");
121 function uiSourceCodeAdded(uiSourceCode)
123 InspectorTest.dumpUISourceCode(uiSourceCode, next);
130 <body onload="runTest()">
131 <p>Tests NetworkUISourceCodeProvider class.</p>