summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/extensions/test/xpcshell/test_remote_pref_telemetry.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_remote_pref_telemetry.js')
-rw-r--r--toolkit/mozapps/extensions/test/xpcshell/test_remote_pref_telemetry.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_remote_pref_telemetry.js b/toolkit/mozapps/extensions/test/xpcshell/test_remote_pref_telemetry.js
new file mode 100644
index 0000000000..aeeb368aa7
--- /dev/null
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_remote_pref_telemetry.js
@@ -0,0 +1,48 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+"use strict";
+
+AddonTestUtils.init(this);
+AddonTestUtils.createAppInfo(
+ "xpcshell@tests.mozilla.org",
+ "XPCShell",
+ "42",
+ "42"
+);
+
+// Need a profile dir to initialize Glean.
+add_setup(async () => {
+ do_get_profile();
+ Services.fog.initializeFOG();
+});
+
+add_task(async function test_remote_extensions_pref_telemetry() {
+ let original = Services.prefs.getBoolPref("extensions.webextensions.remote");
+ await AddonTestUtils.promiseStartupManager();
+
+ equal(
+ original,
+ Glean.extensions.useRemotePref.testGetValue(),
+ "useRemotePref flag in glean is correct."
+ );
+ equal(
+ original,
+ Glean.extensions.useRemotePolicy.testGetValue(),
+ "useRemotePolicy flag in glean is correct."
+ );
+
+ // Change the pref to simulate nimbus doing so after startup.
+ Services.prefs.setBoolPref("extensions.webextensions.remote", !original);
+
+ equal(
+ !original,
+ Glean.extensions.useRemotePref.testGetValue(),
+ "useRemotePref flag reflects the changed pref."
+ );
+ // EPS::UseRemoteExtensions() only reads the pref once, for consistency.
+ equal(
+ original,
+ Glean.extensions.useRemotePolicy.testGetValue(),
+ "useRemotePolicy flag still equal to original pref value."
+ );
+});