summaryrefslogtreecommitdiffstats
path: root/browser/components/preferences/tests/browser_connection_system_wpad.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/preferences/tests/browser_connection_system_wpad.js')
-rw-r--r--browser/components/preferences/tests/browser_connection_system_wpad.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/browser/components/preferences/tests/browser_connection_system_wpad.js b/browser/components/preferences/tests/browser_connection_system_wpad.js
new file mode 100644
index 0000000000..87a3dbebae
--- /dev/null
+++ b/browser/components/preferences/tests/browser_connection_system_wpad.js
@@ -0,0 +1,40 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+add_task(async function test_system_wpad() {
+ await openPreferencesViaOpenPreferencesAPI("general", { leaveOpen: true });
+ const connectionURL =
+ "chrome://browser/content/preferences/dialogs/connection.xhtml";
+
+ registerCleanupFunction(function () {
+ Services.prefs.clearUserPref("network.proxy.system_wpad.allowed");
+ });
+
+ Services.prefs.setBoolPref("network.proxy.system_wpad.allowed", true);
+ let dialog = await openAndLoadSubDialog(connectionURL);
+ let dialogElement = dialog.document.getElementById("ConnectionsDialog");
+ let systemWpad = dialog.document.getElementById("systemWpad");
+ Assert.ok(!systemWpad.hidden, "Use system WPAD checkbox should be visible");
+ let dialogClosingPromise = BrowserTestUtils.waitForEvent(
+ dialogElement,
+ "dialogclosing"
+ );
+ dialogElement.cancelDialog();
+ await dialogClosingPromise;
+
+ Services.prefs.setBoolPref("network.proxy.system_wpad.allowed", false);
+ dialog = await openAndLoadSubDialog(connectionURL);
+ dialogElement = dialog.document.getElementById("ConnectionsDialog");
+ systemWpad = dialog.document.getElementById("systemWpad");
+ Assert.ok(systemWpad.hidden, "Use system WPAD checkbox should be hidden");
+ dialogClosingPromise = BrowserTestUtils.waitForEvent(
+ dialogElement,
+ "dialogclosing"
+ );
+ dialogElement.cancelDialog();
+ await dialogClosingPromise;
+
+ gBrowser.removeCurrentTab();
+});