test_bug561042.js (1163B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 "use strict"; 6 7 const { HttpServer } = ChromeUtils.importESModule( 8 "resource://testing-common/httpd.sys.mjs" 9 ); 10 11 const SERVER_PORT = 8080; 12 const baseURL = "http://localhost:" + SERVER_PORT + "/"; 13 14 var cookie = ""; 15 for (let i = 0; i < 10000; i++) { 16 cookie += " big cookie"; 17 } 18 19 var listener = { 20 onStartRequest() {}, 21 22 onDataAvailable() {}, 23 24 onStopRequest(request, status) { 25 Assert.equal(status, Cr.NS_OK); 26 server.stop(do_test_finished); 27 }, 28 }; 29 30 var server = new HttpServer(); 31 function run_test() { 32 server.start(SERVER_PORT); 33 server.registerPathHandler("/", function (metadata, response) { 34 response.setStatusLine(metadata.httpVersion, 200, "OK"); 35 response.setHeader("Set-Cookie", "BigCookie=" + cookie, false); 36 response.write("Hello world"); 37 }); 38 var chan = NetUtil.newChannel({ 39 uri: baseURL, 40 loadUsingSystemPrincipal: true, 41 }).QueryInterface(Ci.nsIHttpChannel); 42 chan.asyncOpen(listener); 43 do_test_pending(); 44 }