Index: chrome/test/data/extensions/api_test/webrequest/test_post.js |
diff --git a/chrome/test/data/extensions/api_test/webrequest/test_post.js b/chrome/test/data/extensions/api_test/webrequest/test_post.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..344711771979e01d3ffb97d1c6dd296a41d559ed |
--- /dev/null |
+++ b/chrome/test/data/extensions/api_test/webrequest/test_post.js |
@@ -0,0 +1,132 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+function postData(formFile, includePostData) { |
+ var formData = { |
+ check: ["option_A"], |
+ password: ["password"], |
+ radio: ["Yes"], |
+ select: ["one"], |
+ text1: ["TEST_TEXT_1"], |
+ text2: ["TEST_TEXT_2"], |
+ text3: ["TEST_TEXT_3"], |
+ txtarea: ["Text"] |
+ }; |
+ return function submitForm() { |
+ expect( |
+ [ // events |
+ { label: "a-onBeforeRequest", |
+ event: "onBeforeRequest", |
+ details: { |
+ method: "GET", |
+ type: "main_frame", |
+ url: getURL("postData/" + formFile), |
+ frameUrl: getURL("postData/" + formFile) |
+ } |
+ }, |
+ { label: "a-onResponseStarted", |
+ event: "onResponseStarted", |
+ details: { |
+ fromCache: false, |
+ method: "GET", |
+ statusCode: 200, |
+ statusLine: "HTTP/1.1 200 OK", |
+ type: "main_frame", |
+ url: getURL("postData/" + formFile) |
+ } |
+ }, |
+ { label: "a-onCompleted", |
+ event: "onCompleted", |
+ details: { |
+ fromCache: false, |
+ method: "GET", |
+ statusCode: 200, |
+ statusLine: "HTTP/1.1 200 OK", |
+ type: "main_frame", |
+ url: getURL("postData/" + formFile) |
+ } |
+ }, |
+ { label: "s-onBeforeRequest", |
+ event: "onBeforeRequest", |
+ details: { |
+ method: "GET", |
+ type: "script", |
+ url: getURL("postData/submit.js"), |
+ frameUrl: getURL("postData/" + formFile) |
+ } |
+ }, |
+ { label: "s-onResponseStarted", |
+ event: "onResponseStarted", |
+ details: { |
+ fromCache: false, |
+ method: "GET", |
+ statusCode: 200, |
+ statusLine: "HTTP/1.1 200 OK", |
+ type: "script", |
+ url: getURL("postData/submit.js") |
+ } |
+ }, |
+ { label: "s-onCompleted", |
+ event: "onCompleted", |
+ details: { |
+ fromCache: false, |
+ method: "GET", |
+ statusCode: 200, |
+ statusLine: "HTTP/1.1 200 OK", |
+ type: "script", |
+ url: getURL("postData/submit.js") |
+ } |
+ }, |
+ // b-onBeforeRequest with postData included... |
+ (includePostData) ? { label: "b-onBeforeRequest", |
Matt Perry
2012/07/23 21:19:01
I think you could make this more succinct like so:
vabr (Chromium)
2012/07/30 16:05:57
I tried that but it did not work. Even if the expe
|
+ event: "onBeforeRequest", |
+ details: { |
+ method: "POST", |
+ type: "main_frame", |
+ url: getURL("postData/nonExistingTarget.html"), |
+ frameUrl: getURL("postData/nonExistingTarget.html"), |
+ experimentalPostData: { |
+ formData: formData |
+ } |
+ } |
+ // or else b-onBeforeRequest without postData. |
+ } : { label: "b-onBeforeRequest", |
+ event: "onBeforeRequest", |
+ details: { |
+ method: "POST", |
+ type: "main_frame", |
+ url: getURL("postData/nonExistingTarget.html"), |
+ frameUrl: getURL("postData/nonExistingTarget.html"), |
+ } |
+ }, |
+ { label: "b-onErrorOccurred", |
+ event: "onErrorOccurred", |
+ details: { |
+ error: "net::ERR_FILE_NOT_FOUND", |
+ fromCache: false, |
+ method: "POST", |
+ type: "main_frame", |
+ url: getURL("postData/nonExistingTarget.html") |
+ } |
+ } |
+ ], |
+ [ // event order |
+ ["a-onBeforeRequest", "a-onResponseStarted", "a-onCompleted", |
+ "s-onBeforeRequest", "s-onResponseStarted", "s-onCompleted", |
+ "b-onBeforeRequest", "b-onErrorOccurred"] |
+ ], |
+ {urls: ["<all_urls>"]}, // filter |
+ ["requestPostData"]); |
+ navigateAndWait(getURL("postData/" + formFile)); |
+ close(); |
+ } |
+} |
+ |
+runTests([ |
+ // Navigates to a page with a form and submits it. |
+ postData('no-enctype.html', true), |
+ postData('urlencoded.html', true), |
+ postData('multipart.html', true), |
+ postData('plaintext.html', false), |
+]); |