Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* -*- 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();
});