tenfourfox/browser/experiments/test/xpcshell/test_nethang_bug1012924.js
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

48 lines
1.5 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
Cu.import("resource://testing-common/httpd.js");
Cu.import("resource:///modules/experiments/Experiments.jsm");
const MANIFEST_HANDLER = "manifests/handler";
function run_test() {
run_next_test();
}
add_task(function* test_setup() {
loadAddonManager();
do_get_profile();
let httpServer = new HttpServer();
httpServer.start(-1);
let port = httpServer.identity.primaryPort;
let httpRoot = "http://localhost:" + port + "/";
let handlerURI = httpRoot + MANIFEST_HANDLER;
httpServer.registerPathHandler("/" + MANIFEST_HANDLER,
(request, response) => {
response.processAsync();
response.setStatus(null, 200, "OK");
response.write("["); // never finish!
});
do_register_cleanup(() => httpServer.stop(() => {}));
Services.prefs.setBoolPref(PREF_EXPERIMENTS_ENABLED, true);
Services.prefs.setIntPref(PREF_LOGGING_LEVEL, 0);
Services.prefs.setBoolPref(PREF_LOGGING_DUMP, true);
Services.prefs.setCharPref(PREF_MANIFEST_URI, handlerURI);
Services.prefs.setIntPref(PREF_FETCHINTERVAL, 0);
let experiments = Experiments.instance();
experiments.updateManifest().then(
() => {
Assert.ok(true, "updateManifest finished successfully");
},
(e) => {
do_throw("updateManifest should not have failed: got error " + e);
});
yield experiments.uninit();
});