Bug 1321615 fix tests for header modification in toplevel loads, r?aswan draft
authorShane Caraveo <scaraveo@mozilla.com>
Sat, 17 Dec 2016 10:14:26 -1000
changeset 450625 04e9787bea560dae521d82a4413fa162776ef45d
parent 450435 5a536a16e33798fe7b16de35c968d5bc0cbf8448
child 453212 ff152fd31a88dcffa91b4640ffd04f0832b27444
push id38930
push usermixedpuppy@gmail.com
push dateSat, 17 Dec 2016 20:15:52 +0000
reviewersaswan
bugs1321615
milestone53.0a1
Bug 1321615 fix tests for header modification in toplevel loads, r?aswan MozReview-Commit-ID: DN6LgekAsRm
browser/components/extensions/test/browser/browser_ext_webRequest.js
--- a/browser/components/extensions/test/browser/browser_ext_webRequest.js
+++ b/browser/components/extensions/test/browser/browser_ext_webRequest.js
@@ -21,31 +21,59 @@ function createHiddenBrowser(url) {
 
       doc.documentElement.appendChild(browser);
       resolve({frame: frame, browser: browser});
     }));
 }
 
 let extension;
 let dummy = "http://mochi.test:8888/browser/browser/components/extensions/test/browser/file_dummy.html";
+let headers = {
+  request: {
+    add: {
+      "X-WebRequest-request": "text",
+      "X-WebRequest-request-binary": "binary",
+    },
+    modify: {
+      "user-agent": "WebRequest",
+    },
+    remove: [
+      "accept-encoding",
+    ],
+  },
+  response: {
+    add: {
+      "X-WebRequest-response": "text",
+      "X-WebRequest-response-binary": "binary",
+    },
+    modify: {
+      "server": "WebRequest",
+      "content-type": "text/html; charset=utf-8",
+    },
+    remove: [
+      "connection",
+    ],
+  },
+};
 
 add_task(function* setup() {
   // SelfSupport has a tendency to fire when running this test alone, without
   // a good way to turn it off we just set the url to ""
   yield SpecialPowers.pushPrefEnv({
     set: [["browser.selfsupport.url", ""]],
   });
   extension = makeExtension();
   yield extension.startup();
 });
 
 add_task(function* test_newWindow() {
   let expect = {
     "file_dummy.html": {
       type: "main_frame",
+      headers,
     },
   };
   // NOTE: When running solo, favicon will be loaded at some point during
   // the tests in this file, so all tests ignore it.  When running with
   // other tests in this directory, favicon gets loaded at some point before
   // we run, and we never see the request, thus it cannot be handled as part
   // of expect above.
   extension.sendMessage("set-expected", {expect, ignore: ["favicon.ico"]});
@@ -58,30 +86,32 @@ add_task(function* test_newWindow() {
   yield BrowserTestUtils.closeWindow(openedWindow);
 });
 
 add_task(function* test_newTab() {
   // again, in this window
   let expect = {
     "file_dummy.html": {
       type: "main_frame",
+      headers,
     },
   };
   extension.sendMessage("set-expected", {expect, ignore: ["favicon.ico"]});
   yield extension.awaitMessage("continue");
   let tab = yield BrowserTestUtils.openNewForegroundTab(window.gBrowser, dummy + "?newTab");
 
   yield extension.awaitMessage("done");
   yield BrowserTestUtils.removeTab(tab);
 });
 
 add_task(function* test_subframe() {
   let expect = {
     "file_dummy.html": {
       type: "main_frame",
+      headers,
     },
   };
   // test a content subframe attached to hidden window
   extension.sendMessage("set-expected", {expect, ignore: ["favicon.ico"]});
   yield extension.awaitMessage("continue");
   let frameInfo = yield createHiddenBrowser(dummy + "?subframe");
   yield extension.awaitMessage("done");
   // cleanup