tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 }