diff options
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.js | 48 |
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." + ); +}); |