Upstream version 5.34.98.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / debugger / network-uisourcecode-provider.html
1 <html>
2 <head>
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>
6 <script>
7 function test()
8 {
9     var mockContentsMap = {};
10     var lastResourceId = 0;
11
12     NetworkAgent.getResponseBody = function(requestId, callback)
13     {
14         callback(undefined, mockContentsMap[requestId], false);
15     }
16
17     PageAgent.getResourceContent = function(frameId, url, callback)
18     {
19         callback(undefined, mockContentsMap[url], false);
20     }
21
22     function createResourceMock(type, content)
23     {
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";
29         var mimeType;
30         switch (type) {
31         case WebInspector.resourceTypes.Document:
32             mimeType = "text/html";
33             break;
34         case WebInspector.resourceTypes.Script:
35             mimeType = "text/javascript";
36             break;
37         case WebInspector.resourceTypes.Stylesheet:
38             mimeType = "text/css";
39             break;
40         }
41
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);
45
46         return resource;
47     }
48
49     function createScriptMock(content)
50     {
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);
56     }
57
58     function finishResource(resource)
59     {
60         resource.request.finished = true;
61         resource.request.dispatchEventToListeners(WebInspector.NetworkRequest.Events.FinishedLoading, resource.request);
62     }
63
64     function createNetworkUISourceCodeProvider()
65     {
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;
72     }
73
74     InspectorTest.runTestSuite([
75         function testDocumentResource(next)
76         {
77             var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
78             InspectorTest.addResult("Creating resource.");
79             InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
80             createResourceMock(WebInspector.resourceTypes.Document, "<document resource content>");
81
82             function uiSourceCodeAdded(uiSourceCode)
83             {
84                 InspectorTest.dumpUISourceCode(uiSourceCode, next);
85             }
86         },
87
88         function testScriptResource(next)
89         {
90             var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
91             InspectorTest.addResult("Creating resource.");
92             InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
93             createResourceMock(WebInspector.resourceTypes.Script, "<script resource content>");
94
95             function uiSourceCodeAdded(uiSourceCode)
96             {
97                 InspectorTest.dumpUISourceCode(uiSourceCode, next);
98             }
99         },
100
101         function testVMScript(next)
102         {
103             var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
104             InspectorTest.addResult("Creating script.");
105             InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
106             createScriptMock("<script content>");
107
108             function uiSourceCodeAdded(uiSourceCode)
109             {
110                 InspectorTest.dumpUISourceCode(uiSourceCode, next);
111             }
112         },
113
114         function testStylesheetResource(next)
115         {
116             var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
117             InspectorTest.addResult("Creating resource.");
118             InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
119             createResourceMock(WebInspector.resourceTypes.Stylesheet, "<stylesheet resource content>");
120
121             function uiSourceCodeAdded(uiSourceCode)
122             {
123                 InspectorTest.dumpUISourceCode(uiSourceCode, next);
124             }
125         },
126     ]);
127 };
128 </script>
129 </head>
130 <body onload="runTest()">
131 <p>Tests NetworkUISourceCodeProvider class.</p>
132 </body>
133 </html>