fune/toolkit/components/extensions/test/xpcshell/test_ext_unknown_permissions.js
Kris Maglione 918ed6c474 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl

--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
extra : intermediate-source : 34c999fa006bffe8705cf50c54708aa21a962e62
extra : histedit_source : b2be2c5e5d226e6c347312456a6ae339c1e634b0
2018-01-29 15:20:18 -08:00

39 lines
1.3 KiB
JavaScript

"use strict";
add_task(async function test_unknown_permissions() {
let extension = ExtensionTestUtils.loadExtension({
manifest: {
permissions: [
"activeTab",
"fooUnknownPermission",
"http://*/",
"chrome://favicon/",
],
optional_permissions: [
"chrome://favicon/",
"https://example.com/",
],
},
});
let {messages} = await promiseConsoleOutput(
() => extension.startup());
const {WebExtensionPolicy} = Cu.getGlobalForObject(ChromeUtils.import("resource://gre/modules/Extension.jsm", {}));
let policy = WebExtensionPolicy.getByID(extension.id);
Assert.deepEqual(Array.from(policy.permissions).sort(), ["activeTab", "http://*/*"]);
Assert.deepEqual(extension.extension.manifest.optional_permissions, ["https://example.com/"]);
ok(messages.some(message => /Error processing permissions\.1: Value "fooUnknownPermission" must/.test(message)),
'Got expected error for "fooUnknownPermission"');
ok(messages.some(message => /Error processing permissions\.3: Value "chrome:\/\/favicon\/" must/.test(message)),
'Got expected error for "chrome://favicon/"');
ok(messages.some(message => /Error processing optional_permissions\.0: Value "chrome:\/\/favicon\/" must/.test(message)),
"Got expected error from optional_permissions");
await extension.unload();
});