summaryrefslogtreecommitdiffstats
path: root/toolkit/components/startup/tests/unit/head_startup.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/startup/tests/unit/head_startup.js')
-rw-r--r--toolkit/components/startup/tests/unit/head_startup.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/toolkit/components/startup/tests/unit/head_startup.js b/toolkit/components/startup/tests/unit/head_startup.js
new file mode 100644
index 0000000000..cb4308721b
--- /dev/null
+++ b/toolkit/components/startup/tests/unit/head_startup.js
@@ -0,0 +1,41 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+const XULRUNTIME_CONTRACTID = "@mozilla.org/xre/runtime;1";
+const XULRUNTIME_CID = Components.ID("7685dac8-3637-4660-a544-928c5ec0e714}");
+
+var { XPCOMUtils } = ChromeUtils.import(
+ "resource://gre/modules/XPCOMUtils.jsm"
+);
+
+var gAppInfo = null;
+
+function createAppInfo(ID, name, version, platformVersion = "1.0") {
+ let tmp = {};
+ ChromeUtils.import("resource://testing-common/AppInfo.jsm", tmp);
+ gAppInfo = tmp.newAppInfo({
+ ID,
+ name,
+ version,
+ platformVersion,
+ crashReporter: true,
+ replacedLockTime: 0,
+ });
+
+ let XULAppInfoFactory = {
+ createInstance(outer, iid) {
+ if (outer != null) {
+ throw Components.Exception("", Cr.NS_ERROR_NO_AGGREGATION);
+ }
+ return gAppInfo.QueryInterface(iid);
+ },
+ };
+
+ let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
+ registrar.registerFactory(
+ XULRUNTIME_CID,
+ "XULRuntime",
+ XULRUNTIME_CONTRACTID,
+ XULAppInfoFactory
+ );
+}