Bug 1375485 - Add test to verify that requesting an origin or permission in the wrong field throws an error. r?aswan
MozReview-Commit-ID: HZwkeUoGDRW
--- a/toolkit/components/extensions/test/xpcshell/test_ext_permissions.js
+++ b/toolkit/components/extensions/test/xpcshell/test_ext_permissions.js
@@ -171,16 +171,34 @@ add_task(async function test_permissions
acceptPrompt = true;
let allOptional = {
permissions: OPTIONAL_PERMISSIONS,
origins: OPTIONAL_ORIGINS,
};
result = await call("request", allOptional);
equal(result.status, "success", "request() returned cleanly");
equal(result.result, true, "request() returned true for accepted permissions");
+
+ // Verify that requesting a permission/origin in the wrong field fails
+ let originsAsPerms = {
+ permissions: OPTIONAL_ORIGINS,
+ };
+ let permsAsOrigins = {
+ origins: OPTIONAL_PERMISSIONS,
+ };
+
+ result = await call("request", originsAsPerms);
+ equal(result.status, "error", "Requesting an origin as a permission should fail");
+ ok(/Type error for parameter permissions \(Error processing permissions/.test(result.message),
+ "Error message for origin as permission is reasonable");
+
+ result = await call("request", permsAsOrigins);
+ equal(result.status, "error", "Requesting a permission as an origin should fail");
+ ok(/Type error for parameter permissions \(Error processing origins/.test(result.message),
+ "Error message for permission as origin is reasonable");
});
let allPermissions = {
permissions: [...REQUIRED_PERMISSIONS, ...OPTIONAL_PERMISSIONS],
origins: [...REQUIRED_ORIGINS_NORMALIZED, ...OPTIONAL_ORIGINS_NORMALIZED],
};
result = await call("getAll");