mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-03 05:47:29 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
73
dom/permission/tests/unit/test_bug808734.js
Normal file
73
dom/permission/tests/unit/test_bug808734.js
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
var Cu = Components.utils;
|
||||
const READWRITE = "readwrite";
|
||||
const UNKNOWN = "foobar";
|
||||
|
||||
var gData = [
|
||||
// test normal expansion
|
||||
{
|
||||
permission: "contacts",
|
||||
access: READWRITE,
|
||||
expected: ["contacts-read", "contacts-create",
|
||||
"contacts-write"]
|
||||
},
|
||||
// test additional expansion and access not having read+create+write
|
||||
{
|
||||
permission: "settings",
|
||||
access: READWRITE,
|
||||
expected: ["settings-read", "settings-write",
|
||||
"settings-api-read", "settings-api-write",
|
||||
"indexedDB-chrome-settings-read",
|
||||
"indexedDB-chrome-settings-write"]
|
||||
},
|
||||
// test unknown access
|
||||
{
|
||||
permission: "contacts",
|
||||
access: UNKNOWN,
|
||||
expected: []
|
||||
},
|
||||
// test unknown permission
|
||||
{
|
||||
permission: UNKNOWN,
|
||||
access: READWRITE,
|
||||
expected: []
|
||||
}
|
||||
];
|
||||
|
||||
// check if 2 arrays contain the same elements
|
||||
function do_check_set_eq(a1, a2) {
|
||||
do_check_eq(a1.length, a2.length)
|
||||
|
||||
Array.sort(a1);
|
||||
Array.sort(a2);
|
||||
|
||||
for (let i = 0; i < a1.length; ++i) {
|
||||
do_check_eq(a1[i], a2[i])
|
||||
}
|
||||
}
|
||||
|
||||
function test_substitute_does_not_break_substituted(scope) {
|
||||
const Ci = Components.interfaces;
|
||||
|
||||
// geolocation-noprompt substitutes for geolocation ...
|
||||
do_check_eq(scope.PermissionsTable["geolocation-noprompt"].substitute[0],
|
||||
"geolocation");
|
||||
// ... and sets silent allow ...
|
||||
do_check_eq(scope.PermissionsTable["geolocation-noprompt"].certified,
|
||||
Ci.nsIPermissionManager.ALLOW_ACTION)
|
||||
// ... which works ...
|
||||
do_check_false(scope.isExplicitInPermissionsTable("geolocation-noprompt", Ci.nsIPrincipal.APP_STATUS_CERTIFIED));
|
||||
// ... but does not interfere with geolocation's PROMPT value
|
||||
do_check_true(scope.isExplicitInPermissionsTable("geolocation", Ci.nsIPrincipal.APP_STATUS_CERTIFIED));
|
||||
}
|
||||
|
||||
function run_test() {
|
||||
var scope = {};
|
||||
Cu.import("resource://gre/modules/PermissionsTable.jsm", scope);
|
||||
|
||||
for (var i = 0; i < gData.length; i++) {
|
||||
var perms = scope.expandPermissions(gData[i].permission,
|
||||
gData[i].access);
|
||||
do_check_set_eq(perms, gData[i].expected);
|
||||
}
|
||||
test_substitute_does_not_break_substituted(scope);
|
||||
}
|
||||
5
dom/permission/tests/unit/xpcshell.ini
Normal file
5
dom/permission/tests/unit/xpcshell.ini
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
[DEFAULT]
|
||||
head =
|
||||
tail =
|
||||
|
||||
[test_bug808734.js]
|
||||
Loading…
Add table
Add a link
Reference in a new issue