test_channel_priority_wrap.js (1382B)
1 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ 2 /* Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/publicdomain/zero/1.0/ */ 4 5 "use strict"; 6 7 const { HttpServer } = ChromeUtils.importESModule( 8 "resource://testing-common/httpd.sys.mjs" 9 ); 10 11 let httpserver; 12 let port; 13 14 function startHttpServer() { 15 httpserver = new HttpServer(); 16 17 httpserver.registerPathHandler("/resource", (metadata, response) => { 18 response.setStatusLine(metadata.httpVersion, 200, "OK"); 19 response.setHeader("Content-Type", "text/plain", false); 20 response.setHeader("Cache-Control", "no-cache", false); 21 response.bodyOutputStream.write("data", 4); 22 }); 23 24 httpserver.registerPathHandler("/redirect", (metadata, response) => { 25 response.setStatusLine(metadata.httpVersion, 302, "Redirect"); 26 response.setHeader("Location", "/resource", false); 27 response.setHeader("Cache-Control", "no-cache", false); 28 }); 29 30 httpserver.start(-1); 31 port = httpserver.identity.primaryPort; 32 } 33 34 function stopHttpServer() { 35 httpserver.stop(() => {}); 36 } 37 38 function run_test() { 39 // jshint ignore:line 40 registerCleanupFunction(stopHttpServer); 41 42 run_test_in_child("../unit/test_channel_priority.js", () => { 43 startHttpServer(); 44 sendCommand(`configPort(${port});`); 45 do_await_remote_message("finished").then(() => { 46 do_test_finished(); 47 }); 48 }); 49 }