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 }