diff options
Diffstat (limited to 'toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_policy.js')
-rw-r--r-- | toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_policy.js | 68 |
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: {}, + }); +}); |