Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / sources / 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         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;
77     }
78
79     InspectorTest.runTestSuite([
80         function testDocumentResource(next)
81         {
82             var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
83             InspectorTest.addResult("Creating resource.");
84             InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
85             createResourceMock(WebInspector.resourceTypes.Document, "<document resource content>");
86
87             function uiSourceCodeAdded(uiSourceCode)
88             {
89                 InspectorTest.dumpUISourceCode(uiSourceCode, next);
90             }
91         },
92
93         function testScriptResource(next)
94         {
95             var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
96             InspectorTest.addResult("Creating resource.");
97             InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
98             createResourceMock(WebInspector.resourceTypes.Script, "<script resource content>");
99
100             function uiSourceCodeAdded(uiSourceCode)
101             {
102                 InspectorTest.dumpUISourceCode(uiSourceCode, next);
103             }
104         },
105
106         function testVMScript(next)
107         {
108             var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
109             InspectorTest.addResult("Creating script.");
110             InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
111             createScriptMock("<script content>");
112
113             function uiSourceCodeAdded(uiSourceCode)
114             {
115                 InspectorTest.dumpUISourceCode(uiSourceCode, next);
116             }
117         },
118
119         function testStylesheetResource(next)
120         {
121             var networkUISourceCodeProvider = createNetworkUISourceCodeProvider();
122             InspectorTest.addResult("Creating resource.");
123             InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded);
124             createResourceMock(WebInspector.resourceTypes.Stylesheet, "<stylesheet resource content>");
125
126             function uiSourceCodeAdded(uiSourceCode)
127             {
128                 InspectorTest.dumpUISourceCode(uiSourceCode, next);
129             }
130         },
131     ]);
132 };
133 </script>
134 </head>
135 <body onload="runTest()">
136 <p>Tests NetworkUISourceCodeProvider class.</p>
137 </body>
138 </html>