diff options
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_hidden.js')
-rw-r--r-- | toolkit/mozapps/extensions/test/xpcshell/test_hidden.js | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_hidden.js b/toolkit/mozapps/extensions/test/xpcshell/test_hidden.js new file mode 100644 index 0000000000..f9e8ddd295 --- /dev/null +++ b/toolkit/mozapps/extensions/test/xpcshell/test_hidden.js @@ -0,0 +1,58 @@ +add_task(async function test_hidden() { + createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "2"); + AddonTestUtils.usePrivilegedSignatures = id => id.startsWith("privileged"); + + await promiseStartupManager(); + + let xpi1 = createTempWebExtensionFile({ + manifest: { + applications: { + gecko: { + id: "privileged@tests.mozilla.org", + }, + }, + + name: "Hidden Extension", + hidden: true, + }, + }); + + let xpi2 = createTempWebExtensionFile({ + manifest: { + applications: { + gecko: { + id: "unprivileged@tests.mozilla.org", + }, + }, + + name: "Non-Hidden Extension", + hidden: true, + }, + }); + + await promiseInstallAllFiles([xpi1, xpi2]); + + let [addon1, addon2] = await promiseAddonsByIDs([ + "privileged@tests.mozilla.org", + "unprivileged@tests.mozilla.org", + ]); + + ok(addon1.isPrivileged, "Privileged is privileged"); + ok(addon1.hidden, "Privileged extension should be hidden"); + ok(!addon2.isPrivileged, "Unprivileged extension is not privileged"); + ok(!addon2.hidden, "Unprivileged extension should not be hidden"); + + await promiseRestartManager(); + + [addon1, addon2] = await promiseAddonsByIDs([ + "privileged@tests.mozilla.org", + "unprivileged@tests.mozilla.org", + ]); + + ok(addon1.isPrivileged, "Privileged is privileged"); + ok(addon1.hidden, "Privileged extension should be hidden"); + ok(!addon2.isPrivileged, "Unprivileged extension is not privileged"); + ok(!addon2.hidden, "Unprivileged extension should not be hidden"); + + await promiseShutdownManager(); +}); |