summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_policy.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_policy.js')
-rw-r--r--toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_policy.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_policy.js b/toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_policy.js
new file mode 100644
index 0000000000..ccb0d957bb
--- /dev/null
+++ b/toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_policy.js
@@ -0,0 +1,68 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+const { EnterprisePolicyTesting } = ChromeUtils.importESModule(
+ "resource://testing-common/EnterprisePolicyTesting.sys.mjs"
+);
+
+const TEST_PATH = getRootDirectory(gTestPath).replace(
+ "chrome://mochitests/content",
+ "http://example.com"
+);
+
+/**
+ * Check that policy allows certain extensions to be launched.
+ */
+add_task(async function test_download_jnlp_policy() {
+ forcePromptForFiles("application/x-java-jnlp-file", "jnlp");
+ let windowObserver = BrowserTestUtils.domWindowOpenedAndLoaded();
+
+ let tab = await BrowserTestUtils.openNewForegroundTab({
+ gBrowser,
+ opening: TEST_PATH + "example.jnlp",
+ waitForLoad: false,
+ });
+ let win = await windowObserver;
+
+ let dialog = win.document.querySelector("dialog");
+ let normalBox = win.document.getElementById("normalBox");
+ let basicBox = win.document.getElementById("basicBox");
+ is(normalBox.collapsed, !AppConstants.IS_ESR);
+ is(basicBox.collapsed, AppConstants.IS_ESR);
+ dialog.cancelDialog();
+ BrowserTestUtils.removeTab(tab);
+
+ await EnterprisePolicyTesting.setupPolicyEngineWithJson({
+ policies: {
+ ExemptDomainFileTypePairsFromFileTypeDownloadWarnings: [
+ {
+ file_extension: "jnlp",
+ domains: ["example.com"],
+ },
+ ],
+ },
+ });
+
+ windowObserver = BrowserTestUtils.domWindowOpenedAndLoaded();
+
+ tab = await BrowserTestUtils.openNewForegroundTab({
+ gBrowser,
+ opening: TEST_PATH + "example.jnlp",
+ waitForLoad: false,
+ });
+ win = await windowObserver;
+
+ dialog = win.document.querySelector("dialog");
+ normalBox = win.document.getElementById("normalBox");
+ basicBox = win.document.getElementById("basicBox");
+ is(normalBox.collapsed, false);
+ is(basicBox.collapsed, true);
+ dialog.cancelDialog();
+ BrowserTestUtils.removeTab(tab);
+
+ await EnterprisePolicyTesting.setupPolicyEngineWithJson({
+ policies: {},
+ });
+});