summaryrefslogtreecommitdiffstats
path: root/toolkit/components/extensions/test/xpcshell/test_ext_activityLog.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /toolkit/components/extensions/test/xpcshell/test_ext_activityLog.js
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/extensions/test/xpcshell/test_ext_activityLog.js')
-rw-r--r--toolkit/components/extensions/test/xpcshell/test_ext_activityLog.js78
1 files changed, 78 insertions, 0 deletions
diff --git a/toolkit/components/extensions/test/xpcshell/test_ext_activityLog.js b/toolkit/components/extensions/test/xpcshell/test_ext_activityLog.js
new file mode 100644
index 0000000000..00173f3a4d
--- /dev/null
+++ b/toolkit/components/extensions/test/xpcshell/test_ext_activityLog.js
@@ -0,0 +1,78 @@
+"use strict";
+
+AddonTestUtils.init(this);
+AddonTestUtils.overrideCertDB();
+AddonTestUtils.usePrivilegedSignatures = false;
+AddonTestUtils.createAppInfo(
+ "xpcshell@tests.mozilla.org",
+ "XPCShell",
+ "1",
+ "42"
+);
+
+add_setup(async () => {
+ await AddonTestUtils.promiseStartupManager();
+});
+
+// This test should produce a warning, but still startup
+add_task(async function test_api_restricted() {
+ let extension = ExtensionTestUtils.loadExtension({
+ manifest: {
+ browser_specific_settings: {
+ gecko: { id: "activityLog-permission@tests.mozilla.org" },
+ },
+ permissions: ["activityLog"],
+ },
+ async background() {
+ browser.test.assertEq(
+ undefined,
+ browser.activityLog,
+ "activityLog is privileged"
+ );
+ },
+ useAddonManager: "permanent",
+ });
+ await extension.startup();
+ await extension.unload();
+});
+
+// This test should produce a error and not startup
+add_task(
+ {
+ // Some builds (e.g. thunderbird) have experiments enabled by default.
+ pref_set: [["extensions.experiments.enabled", false]],
+ },
+ async function test_api_restricted_temporary_without_privilege() {
+ let extension = ExtensionTestUtils.loadExtension({
+ temporarilyInstalled: true,
+ isPrivileged: false,
+ manifest: {
+ browser_specific_settings: {
+ gecko: { id: "activityLog-permission@tests.mozilla.org" },
+ },
+ permissions: ["activityLog"],
+ },
+ });
+ ExtensionTestUtils.failOnSchemaWarnings(false);
+ let { messages } = await promiseConsoleOutput(async () => {
+ await Assert.rejects(
+ extension.startup(),
+ /Using the privileged permission/,
+ "Startup failed with privileged permission"
+ );
+ });
+ ExtensionTestUtils.failOnSchemaWarnings(true);
+ AddonTestUtils.checkMessages(
+ messages,
+ {
+ expected: [
+ {
+ message:
+ /Using the privileged permission 'activityLog' requires a privileged add-on/,
+ },
+ ],
+ },
+ true
+ );
+ }
+);