- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / test / data / extensions / api_test / webrequest / test_simple.js
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Constants as functions, not to be called until after runTests.
6 function getURLHttpSimpleLoad() {
7   return getServerURL('extensions/api_test/webrequest/simpleLoad/a.html');
8 }
9
10 function getURLHttpSimpleLoadRedirect() {
11   return getServerURL('server-redirect?'+getURLHttpSimpleLoad());
12 }
13
14 runTests([
15   // Navigates to a blank page.
16   function simpleLoad() {
17     expect(
18       [  // events
19         { label: "a-onBeforeRequest",
20           event: "onBeforeRequest",
21           details: {
22             url: getURL("simpleLoad/a.html"),
23             frameUrl: getURL("simpleLoad/a.html")
24           }
25         },
26         { label: "a-onResponseStarted",
27           event: "onResponseStarted",
28           details: {
29             url: getURL("simpleLoad/a.html"),
30             statusCode: 200,
31             fromCache: false,
32             statusLine: "HTTP/1.1 200 OK",
33             // Request to chrome-extension:// url has no IP.
34           }
35         },
36         { label: "a-onCompleted",
37           event: "onCompleted",
38           details: {
39             url: getURL("simpleLoad/a.html"),
40             statusCode: 200,
41             fromCache: false,
42             statusLine: "HTTP/1.1 200 OK",
43             // Request to chrome-extension:// url has no IP.
44           }
45         },
46       ],
47       [  // event order
48       ["a-onBeforeRequest", "a-onResponseStarted", "a-onCompleted"] ]);
49     navigateAndWait(getURL("simpleLoad/a.html"));
50   },
51
52   // Navigates to a blank page via HTTP. Only HTTP requests get the
53   // onBeforeSendHeaders event.
54   function simpleLoadHttp() {
55     expect(
56       [  // events
57         { label: "onBeforeRequest-1",
58           event: "onBeforeRequest",
59           details: {
60             url: getURLHttpSimpleLoadRedirect(),
61             frameUrl: getURLHttpSimpleLoadRedirect()
62           }
63         },
64         { label: "onBeforeSendHeaders-1",
65           event: "onBeforeSendHeaders",
66           details: {
67             url: getURLHttpSimpleLoadRedirect(),
68             requestHeadersValid: true
69           }
70         },
71         { label: "onSendHeaders-1",
72           event: "onSendHeaders",
73           details: {
74             url: getURLHttpSimpleLoadRedirect(),
75             requestHeadersValid: true
76           }
77         },
78         { label: "onHeadersReceived-1",
79           event: "onHeadersReceived",
80           details: {
81             url: getURLHttpSimpleLoadRedirect(),
82             responseHeadersExist: true,
83             statusLine: "HTTP/1.1 301 Moved Permanently"
84           }
85         },
86         { label: "onBeforeRedirect",
87           event: "onBeforeRedirect",
88           details: {
89             url: getURLHttpSimpleLoadRedirect(),
90             redirectUrl: getURLHttpSimpleLoad(),
91             statusCode: 301,
92             responseHeadersExist: true,
93             ip: "127.0.0.1",
94             fromCache: false,
95             statusLine: "HTTP/1.1 301 Moved Permanently"
96           }
97         },
98         { label: "onBeforeRequest-2",
99           event: "onBeforeRequest",
100           details: {
101             url: getURLHttpSimpleLoad(),
102             frameUrl: getURLHttpSimpleLoad()
103           }
104         },
105         { label: "onBeforeSendHeaders-2",
106           event: "onBeforeSendHeaders",
107           details: {
108             url: getURLHttpSimpleLoad(),
109             requestHeadersValid: true
110           }
111         },
112         { label: "onSendHeaders-2",
113           event: "onSendHeaders",
114           details: {
115             url: getURLHttpSimpleLoad(),
116             requestHeadersValid: true
117           }
118         },
119         { label: "onHeadersReceived-2",
120           event: "onHeadersReceived",
121           details: {
122             url: getURLHttpSimpleLoad(),
123             responseHeadersExist: true,
124             statusLine: "HTTP/1.1 200 OK",
125           }
126         },
127         { label: "onResponseStarted",
128           event: "onResponseStarted",
129           details: {
130             url: getURLHttpSimpleLoad(),
131             statusCode: 200,
132             responseHeadersExist: true,
133             ip: "127.0.0.1",
134             fromCache: false,
135             statusLine: "HTTP/1.1 200 OK",
136           }
137         },
138         { label: "onCompleted",
139           event: "onCompleted",
140           details: {
141             url: getURLHttpSimpleLoad(),
142             statusCode: 200,
143             ip: "127.0.0.1",
144             fromCache: false,
145             responseHeadersExist: true,
146             statusLine: "HTTP/1.1 200 OK"
147           }
148         }
149       ],
150       [  // event order
151         ["onBeforeRequest-1", "onBeforeSendHeaders-1", "onSendHeaders-1",
152          "onHeadersReceived-1", "onBeforeRedirect",
153          "onBeforeRequest-2", "onBeforeSendHeaders-2", "onSendHeaders-2",
154          "onHeadersReceived-2", "onResponseStarted", "onCompleted"] ],
155       {urls: ["<all_urls>"]},  // filter
156       ["requestHeaders", "responseHeaders"]);
157     navigateAndWait(getURLHttpSimpleLoadRedirect());
158   },
159
160   // Navigates to a non-existing page.
161   function nonExistingLoad() {
162     expect(
163       [  // events
164         { label: "onBeforeRequest",
165           event: "onBeforeRequest",
166           details: {
167             url: getURL("does_not_exist.html"),
168             frameUrl: getURL("does_not_exist.html")
169           }
170         },
171         { label: "onErrorOccurred",
172           event: "onErrorOccurred",
173           details: {
174             url: getURL("does_not_exist.html"),
175             fromCache: false,
176             error: "net::ERR_FILE_NOT_FOUND",
177             // Request to chrome-extension:// url has no IP.
178           }
179         },
180       ],
181       [  // event order
182         ["onBeforeRequest", "onErrorOccurred"] ]);
183     navigateAndWait(getURL("does_not_exist.html"));
184   },
185 ]);