tor-browser

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

test_bug331825.js (1076B)


      1 "use strict";
      2 
      3 const { HttpServer } = ChromeUtils.importESModule(
      4  "resource://testing-common/httpd.sys.mjs"
      5 );
      6 
      7 var server;
      8 const BUGID = "331825";
      9 
     10 function TestListener() {}
     11 TestListener.prototype.onStartRequest = function () {};
     12 TestListener.prototype.onStopRequest = function (request) {
     13  var channel = request.QueryInterface(Ci.nsIHttpChannel);
     14  Assert.equal(channel.responseStatus, 304);
     15 
     16  server.stop(do_test_finished);
     17 };
     18 
     19 function run_test() {
     20  // start server
     21  server = new HttpServer();
     22 
     23  server.registerPathHandler("/bug" + BUGID, bug331825);
     24 
     25  server.start(-1);
     26 
     27  // make request
     28  var channel = NetUtil.newChannel({
     29    uri: "http://localhost:" + server.identity.primaryPort + "/bug" + BUGID,
     30    loadUsingSystemPrincipal: true,
     31  });
     32 
     33  channel.QueryInterface(Ci.nsIHttpChannel);
     34  channel.setRequestHeader("If-None-Match", "foobar", false);
     35  channel.asyncOpen(new TestListener());
     36 
     37  do_test_pending();
     38 }
     39 
     40 // PATH HANDLER FOR /bug331825
     41 function bug331825(metadata, response) {
     42  response.setStatusLine(metadata.httpVersion, 304, "Not Modified");
     43 }