Files
tubestation/toolkit/modules/tests/xpcshell/test_Services.js
Tooru Fujisawa 4486f4f17e Bug 1667455 - Part 3: Re-export global Services in Services.jsm. r=kmag
Given `Services` object is already created and defined on the loader's shared
global, Services.jsm shouldn't create yet another instance.

Just return the shared global's property, to make it keeps working in the
middle of this patch's stack.

Differential Revision: https://phabricator.services.mozilla.com/D150892
2022-07-11 12:41:49 +00:00

65 lines
2.3 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* This file tests the Services global variable.
*/
// Globals
function checkService(service, interface) {
info("Checking that Services." + service + " is an " + interface);
Assert.ok(service in Services);
Assert.ok(Services[service] instanceof interface);
}
// Tests
function run_test() {
do_get_profile();
checkService("appShell", Ci.nsIAppShellService);
checkService("appinfo", Ci.nsIXULRuntime);
checkService("cache2", Ci.nsICacheStorageService);
checkService("clipboard", Ci.nsIClipboard);
checkService("console", Ci.nsIConsoleService);
checkService("cookies", Ci.nsICookieManager);
checkService("dirsvc", Ci.nsIDirectoryService);
checkService("dirsvc", Ci.nsIProperties);
checkService("DOMRequest", Ci.nsIDOMRequestService);
checkService("domStorageManager", Ci.nsIDOMStorageManager);
checkService("droppedLinkHandler", Ci.nsIDroppedLinkHandler);
checkService("eTLD", Ci.nsIEffectiveTLDService);
checkService("focus", Ci.nsIFocusManager);
checkService("io", Ci.nsIIOService);
checkService("intl", Ci.mozIMozIntl);
checkService("locale", Ci.mozILocaleService);
checkService("logins", Ci.nsILoginManager);
checkService("obs", Ci.nsIObserverService);
checkService("perms", Ci.nsIPermissionManager);
checkService("prefs", Ci.nsIPrefBranch);
checkService("prefs", Ci.nsIPrefService);
checkService("prompt", Ci.nsIPromptService);
checkService("scriptSecurityManager", Ci.nsIScriptSecurityManager);
checkService("scriptloader", Ci.mozIJSSubScriptLoader);
checkService("startup", Ci.nsIAppStartup);
checkService("storage", Ci.mozIStorageService);
checkService("strings", Ci.nsIStringBundleService);
checkService("sysinfo", Ci.nsIPropertyBag2);
checkService("telemetry", Ci.nsITelemetry);
checkService("tm", Ci.nsIThreadManager);
checkService("urlFormatter", Ci.nsIURLFormatter);
checkService("vc", Ci.nsIVersionComparator);
checkService("wm", Ci.nsIWindowMediator);
checkService("ww", Ci.nsIWindowWatcher);
if ("nsISearchService" in Ci) {
checkService("search", Ci.nsISearchService);
}
if ("nsIAndroidBridge" in Ci) {
checkService("androidBridge", Ci.nsIAndroidBridge);
}
if ("@mozilla.org/enterprisepolicies;1" in Cc) {
checkService("policies", Ci.nsIEnterprisePolicies);
}
}