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 var target = WebInspector.targetManager.activeTarget();
68 target.resourceTreeModel = new WebInspector.Object();
69 target.resourceTreeModel.inspectedPageURL = function() { return "foo"; };
70 target.debuggerModel = new WebInspector.Object();
71 target.debuggerModel._registerScript = function(){};
72 WebInspector.resourceTreeModel = target.resourceTreeModel;
73 WebInspector.debuggerModel = target.debuggerModel;
74 var networkUISourceCodeProvider = new WebInspector.NetworkUISourceCodeProvider(InspectorTest.testNetworkWorkspaceBinding, InspectorTest.testWorkspace);
75 networkUISourceCodeProvider.targetAdded(target);
76 return networkUISourceCodeProvider;
79 InspectorTest.runTestSuite([
80 function testDocumentResource(next)
82 var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
83 InspectorTest.addResult("Creating resource.");
84 InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
85 createResourceMock(WebInspector.resourceTypes.Document, "<document resource content>");
87 function uiSourceCodeAdded(uiSourceCode)
89 InspectorTest.dumpUISourceCode(uiSourceCode, next);
93 function testScriptResource(next)
95 var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
96 InspectorTest.addResult("Creating resource.");
97 InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
98 createResourceMock(WebInspector.resourceTypes.Script, "<script resource content>");
100 function uiSourceCodeAdded(uiSourceCode)
102 InspectorTest.dumpUISourceCode(uiSourceCode, next);
106 function testVMScript(next)
108 var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
109 InspectorTest.addResult("Creating script.");
110 InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
111 createScriptMock("<script content>");
113 function uiSourceCodeAdded(uiSourceCode)
115 InspectorTest.dumpUISourceCode(uiSourceCode, next);
119 function testStylesheetResource(next)
121 var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
122 InspectorTest.addResult("Creating resource.");
123 InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
124 createResourceMock(WebInspector.resourceTypes.Stylesheet, "<stylesheet resource content>");
126 function uiSourceCodeAdded(uiSourceCode)
128 InspectorTest.dumpUISourceCode(uiSourceCode, next);
135 <body onload="runTest()">
136 <p>Tests NetworkUISourceCodeProvider class.</p>