diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /browser/components/extensions/test/browser/browser_ext_browsingData_cookieStoreId.js | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/extensions/test/browser/browser_ext_browsingData_cookieStoreId.js')
-rw-r--r-- | browser/components/extensions/test/browser/browser_ext_browsingData_cookieStoreId.js | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/browser/components/extensions/test/browser/browser_ext_browsingData_cookieStoreId.js b/browser/components/extensions/test/browser/browser_ext_browsingData_cookieStoreId.js new file mode 100644 index 0000000000..a7acbcfdf3 --- /dev/null +++ b/browser/components/extensions/test/browser/browser_ext_browsingData_cookieStoreId.js @@ -0,0 +1,86 @@ +/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set sts=2 sw=2 et tw=80: */ +"use strict"; + +add_task(async function test_remove_unsupported() { + await SpecialPowers.pushPrefEnv({ + set: [["privacy.userContext.enabled", true]], + }); + + let extension = ExtensionTestUtils.loadExtension({ + manifest: { + permissions: ["browsingData"], + }, + async background() { + for (let dataType of [ + "cache", + "downloads", + "formData", + "history", + "passwords", + "pluginData", + "serviceWorkers", + ]) { + await browser.test.assertRejects( + browser.browsingData.remove( + { cookieStoreId: "firefox-default" }, + { + [dataType]: true, + } + ), + `Firefox does not support clearing ${dataType} with 'cookieStoreId'.`, + `Should reject for unsupported dataType: ${dataType}` + ); + } + + // Smoke test that doesn't delete anything. + await browser.browsingData.remove( + { cookieStoreId: "firefox-container-1" }, + {} + ); + + browser.test.sendMessage("done"); + }, + }); + + await extension.startup(); + await extension.awaitMessage("done"); + await extension.unload(); + + await SpecialPowers.popPrefEnv(); +}); + +add_task(async function test_invalid_id() { + await SpecialPowers.pushPrefEnv({ + set: [["privacy.userContext.enabled", true]], + }); + + let extension = ExtensionTestUtils.loadExtension({ + manifest: { + permissions: ["browsingData"], + }, + async background() { + for (let cookieStoreId of [ + "firefox-DEFAULT", // should be "firefox-default" + "firefox-private222", + "firefox", + "firefox-container-", + "firefox-container-100000", + ]) { + await browser.test.assertRejects( + browser.browsingData.remove({ cookieStoreId }, { cookies: true }), + `Invalid cookieStoreId: ${cookieStoreId}`, + `Should reject invalid cookieStoreId: ${cookieStoreId}` + ); + } + + browser.test.sendMessage("done"); + }, + }); + + await extension.startup(); + await extension.awaitMessage("done"); + await extension.unload(); + + await SpecialPowers.popPrefEnv(); +}); |