diff options
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(); +}); |