From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../browser_permissions_local_file.js | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 browser/base/content/test/webextensions/browser_permissions_local_file.js (limited to 'browser/base/content/test/webextensions/browser_permissions_local_file.js') diff --git a/browser/base/content/test/webextensions/browser_permissions_local_file.js b/browser/base/content/test/webextensions/browser_permissions_local_file.js new file mode 100644 index 0000000000..a2fdc34db3 --- /dev/null +++ b/browser/base/content/test/webextensions/browser_permissions_local_file.js @@ -0,0 +1,43 @@ +"use strict"; + +async function installFile(filename) { + const ChromeRegistry = Cc["@mozilla.org/chrome/chrome-registry;1"].getService( + Ci.nsIChromeRegistry + ); + let chromeUrl = Services.io.newURI(gTestPath); + let fileUrl = ChromeRegistry.convertChromeURL(chromeUrl); + let file = fileUrl.QueryInterface(Ci.nsIFileURL).file; + file.leafName = filename; + + let MockFilePicker = SpecialPowers.MockFilePicker; + MockFilePicker.init(window); + MockFilePicker.setFiles([file]); + MockFilePicker.afterOpenCallback = MockFilePicker.cleanup; + + let { document } = await BrowserOpenAddonsMgr("addons://list/extension"); + + // Do the install... + await waitAboutAddonsViewLoaded(document); + let installButton = document.querySelector('[action="install-from-file"]'); + installButton.click(); +} + +add_task(async function test_install_extension_from_local_file() { + // Listen for the first installId so we can check it later. + let firstInstallId = null; + AddonManager.addInstallListener({ + onNewInstall(install) { + firstInstallId = install.installId; + AddonManager.removeInstallListener(this); + }, + }); + + // Install the add-ons. + await testInstallMethod(installFile, "installLocal"); + + // Check we got an installId. + ok( + firstInstallId != null && !isNaN(firstInstallId), + "There was an installId found" + ); +}); -- cgit v1.2.3