forked from mirrors/gecko-dev
MozReview-Commit-ID: DawjN9bGcmL --HG-- extra : rebase_source : 8894c417c7b0aed07b7637699ec8236a3edcb065 extra : source : a6f47027566a5cf8e1ffb1a5993c357f46105794
66 lines
2.2 KiB
JavaScript
66 lines
2.2 KiB
JavaScript
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
|
/* vim: set sts=2 sw=2 et tw=80: */
|
|
"use strict";
|
|
|
|
add_task(async function testInvalidArguments() {
|
|
async function background() {
|
|
const UNSUPPORTED_DATA_TYPES = ["appcache", "fileSystems", "webSQL"];
|
|
|
|
await browser.test.assertRejects(
|
|
browser.browsingData.remove({originTypes: {protectedWeb: true}}, {cookies: true}),
|
|
"Firefox does not support protectedWeb or extension as originTypes.",
|
|
"Expected error received when using protectedWeb originType.");
|
|
|
|
await browser.test.assertRejects(
|
|
browser.browsingData.removeCookies({originTypes: {extension: true}}),
|
|
"Firefox does not support protectedWeb or extension as originTypes.",
|
|
"Expected error received when using extension originType.");
|
|
|
|
for (let dataType of UNSUPPORTED_DATA_TYPES) {
|
|
let dataTypes = {};
|
|
dataTypes[dataType] = true;
|
|
browser.test.assertThrows(
|
|
() => browser.browsingData.remove({}, dataTypes),
|
|
/Type error for parameter dataToRemove/,
|
|
`Expected error received when using ${dataType} dataType.`
|
|
);
|
|
}
|
|
|
|
browser.test.notifyPass("invalidArguments");
|
|
}
|
|
|
|
let extensionData = {
|
|
background: background,
|
|
manifest: {
|
|
permissions: ["browsingData"],
|
|
},
|
|
};
|
|
|
|
let extension = ExtensionTestUtils.loadExtension(extensionData);
|
|
await extension.startup();
|
|
await extension.awaitFinish("invalidArguments");
|
|
await extension.unload();
|
|
});
|
|
|
|
add_task(async function testUnimplementedDataType() {
|
|
function background() {
|
|
browser.browsingData.remove({}, {localStorage: true});
|
|
browser.test.sendMessage("finished");
|
|
}
|
|
|
|
let {messages} = await promiseConsoleOutput(async function() {
|
|
let extension = ExtensionTestUtils.loadExtension({
|
|
background: background,
|
|
manifest: {
|
|
permissions: ["browsingData"],
|
|
},
|
|
});
|
|
|
|
await extension.startup();
|
|
await extension.awaitMessage("finished");
|
|
await extension.unload();
|
|
});
|
|
|
|
let warningObserved = messages.find(line => /Firefox does not support dataTypes: localStorage/.test(line));
|
|
ok(warningObserved, "Warning issued when calling remove with an unimplemented dataType.");
|
|
});
|