diff -r 000000000000 -r 6474c204b198 toolkit/components/captivedetect/test/unit/head_setprefs.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolkit/components/captivedetect/test/unit/head_setprefs.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,49 @@ +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ +'use strict'; + +const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; + +Cu.import('resource://gre/modules/XPCOMUtils.jsm'); +Cu.import('resource://gre/modules/Services.jsm'); +Cu.import('resource://testing-common/httpd.js'); + +XPCOMUtils.defineLazyServiceGetter(this, 'gCaptivePortalDetector', + '@mozilla.org/toolkit/captive-detector;1', + 'nsICaptivePortalDetector'); + +const kCanonicalSitePath = '/canonicalSite.html'; +const kCanonicalSiteContent = 'true'; +const kPrefsCanonicalURL = 'captivedetect.canonicalURL'; +const kPrefsCanonicalContent = 'captivedetect.canonicalContent'; +const kPrefsMaxWaitingTime = 'captivedetect.maxWaitingTime'; +const kPrefsPollingTime = 'captivedetect.pollingTime'; + +var gServer; +var gServerURL; + +function setupPrefs() { + let prefs = Components.classes["@mozilla.org/preferences-service;1"] + .getService(Components.interfaces.nsIPrefService) + .QueryInterface(Components.interfaces.nsIPrefBranch); + prefs.setCharPref(kPrefsCanonicalURL, gServerURL + kCanonicalSitePath); + prefs.setCharPref(kPrefsCanonicalContent, kCanonicalSiteContent); + prefs.setIntPref(kPrefsMaxWaitingTime, 0); + prefs.setIntPref(kPrefsPollingTime, 1); +} + +function run_captivedetect_test(xhr_handler, fakeUIResponse, testfun) +{ + gServer = new HttpServer(); + gServer.registerPathHandler(kCanonicalSitePath, xhr_handler); + gServer.start(-1); + gServerURL = 'http://localhost:' + gServer.identity.primaryPort; + + setupPrefs(); + + fakeUIResponse(); + + testfun(); +}