forked from mirrors/gecko-dev
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
39 lines
1.3 KiB
JavaScript
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();
|
|
});
|