diff options
Diffstat (limited to 'toolkit/components/enterprisepolicies/tests/xpcshell')
3 files changed, 58 insertions, 0 deletions
diff --git a/toolkit/components/enterprisepolicies/tests/xpcshell/head.js b/toolkit/components/enterprisepolicies/tests/xpcshell/head.js new file mode 100644 index 0000000000..d4a585e299 --- /dev/null +++ b/toolkit/components/enterprisepolicies/tests/xpcshell/head.js @@ -0,0 +1,36 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +const { updateAppInfo } = ChromeUtils.importESModule( + "resource://testing-common/AppInfo.sys.mjs" +); +const { EnterprisePolicyTesting } = ChromeUtils.importESModule( + "resource://testing-common/EnterprisePolicyTesting.sys.mjs" +); + +updateAppInfo({ + name: "XPCShell", + ID: "xpcshell@tests.mozilla.org", + version: "48", + platformVersion: "48", +}); + +// This initializes the policy engine for xpcshell tests +let policies = Cc["@mozilla.org/enterprisepolicies;1"].getService( + Ci.nsIObserver +); +policies.observe(null, "policies-startup", null); + +async function setupPolicyEngineWithJson(json, customSchema) { + if (typeof json != "object") { + let filePath = do_get_file(json ? json : "non-existing-file.json").path; + return EnterprisePolicyTesting.setupPolicyEngineWithJson( + filePath, + customSchema + ); + } + return EnterprisePolicyTesting.setupPolicyEngineWithJson(json, customSchema); +} diff --git a/toolkit/components/enterprisepolicies/tests/xpcshell/test_empty.js b/toolkit/components/enterprisepolicies/tests/xpcshell/test_empty.js new file mode 100644 index 0000000000..7458f95960 --- /dev/null +++ b/toolkit/components/enterprisepolicies/tests/xpcshell/test_empty.js @@ -0,0 +1,16 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +add_task(async function test_empty_toplevel() { + await setupPolicyEngineWithJson({ + policies: {}, + }); + + equal( + Services.policies.status, + Ci.nsIEnterprisePolicies.INACTIVE, + "Engine is not active" + ); +}); diff --git a/toolkit/components/enterprisepolicies/tests/xpcshell/xpcshell.toml b/toolkit/components/enterprisepolicies/tests/xpcshell/xpcshell.toml new file mode 100644 index 0000000000..7229da98ed --- /dev/null +++ b/toolkit/components/enterprisepolicies/tests/xpcshell/xpcshell.toml @@ -0,0 +1,6 @@ +[DEFAULT] +firefox-appdir = "browser" +head = "head.js" +skip-if = ["os == 'android'"] + +["test_empty.js"] |