Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
"use strict";
const PREF = "dom.webserial.enabled";
add_task(async function test_no_policies() {
await setupPolicyEngineWithJson({
policies: {},
});
equal(
Services.policies.status,
Ci.nsIEnterprisePolicies.INACTIVE,
"Engine is not active"
);
checkUnlockedPref(PREF, true);
});
add_task(async function test_import_enterprise_roots_only() {
await setupPolicyEngineWithJson({
policies: {
Certificates: {
ImportEnterpriseRoots: true,
},
},
});
equal(
Services.policies.status,
Ci.nsIEnterprisePolicies.INACTIVE,
"Engine is not active for ImportEnterpriseRoots-only"
);
checkUnlockedPref(PREF, true);
});
add_task(async function test_serial_guard_allow_alone() {
await setupPolicyEngineWithJson({
policies: {
DefaultSerialGuardSetting: 3,
},
});
equal(
Services.policies.status,
Ci.nsIEnterprisePolicies.ACTIVE,
"Engine is active"
);
checkUnlockedPref(PREF, true);
});
add_task(async function test_serial_guard_allow_user_can_disable() {
await setupPolicyEngineWithJson({
policies: {
DefaultSerialGuardSetting: 3,
},
});
checkUnlockedPref(PREF, true);
// The pref is unlocked, so a user can still disable WebSerial via
// about:config (modeled here as setting the user-branch pref).
Services.prefs.setBoolPref(PREF, false);
checkUserPref(PREF, false);
Services.prefs.clearUserPref(PREF);
});
add_task(async function test_serial_guard_allow_with_other_policy() {
await setupPolicyEngineWithJson({
policies: {
DefaultSerialGuardSetting: 3,
BlockAboutConfig: true,
},
});
equal(
Services.policies.status,
Ci.nsIEnterprisePolicies.ACTIVE,
"Engine is active"
);
checkUnlockedPref(PREF, true);
});
add_task(async function test_unrelated_policy_disables_webserial() {
await setupPolicyEngineWithJson({
policies: {
BlockAboutConfig: true,
},
});
equal(
Services.policies.status,
Ci.nsIEnterprisePolicies.ACTIVE,
"Engine is active"
);
checkLockedPref(PREF, false);
});
add_task(async function test_serial_guard_block() {
await setupPolicyEngineWithJson({
policies: {
DefaultSerialGuardSetting: 2,
},
});
equal(
Services.policies.status,
Ci.nsIEnterprisePolicies.ACTIVE,
"Engine is active"
);
checkLockedPref(PREF, false);
});