summaryrefslogtreecommitdiffstats
path: root/testing/modules/tests/xpcshell/test_mockRegistrar.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/modules/tests/xpcshell/test_mockRegistrar.js')
-rw-r--r--testing/modules/tests/xpcshell/test_mockRegistrar.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/testing/modules/tests/xpcshell/test_mockRegistrar.js b/testing/modules/tests/xpcshell/test_mockRegistrar.js
new file mode 100644
index 000000000..af890e2aa
--- /dev/null
+++ b/testing/modules/tests/xpcshell/test_mockRegistrar.js
@@ -0,0 +1,51 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+var {classes: Cc, interfaces: Ci, utils: Cu} = Components;
+
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+Cu.import("resource://testing-common/MockRegistrar.jsm");
+
+function userInfo(username) {
+ this.username = username;
+}
+
+userInfo.prototype = {
+ fullname: "fullname",
+ emailAddress: "emailAddress",
+ domain: "domain",
+ QueryInterface: XPCOMUtils.generateQI([Ci.nsIUserInfo]),
+};
+
+function run_test () {
+ run_next_test();
+}
+
+add_test(function test_register() {
+ let localUserInfo = {
+ fullname: "fullname",
+ username: "localusername",
+ emailAddress: "emailAddress",
+ domain: "domain",
+ QueryInterface: XPCOMUtils.generateQI([Ci.nsIUserInfo]),
+ };
+
+ let userInfoCID = MockRegistrar.register("@mozilla.org/userinfo;1", localUserInfo);
+ Assert.equal(Cc["@mozilla.org/userinfo;1"].createInstance(Ci.nsIUserInfo).username, "localusername");
+ run_next_test();
+});
+
+add_test(function test_register_with_arguments() {
+ let userInfoCID = MockRegistrar.register("@mozilla.org/userinfo;1", userInfo, ["username"]);
+ Assert.equal(Cc["@mozilla.org/userinfo;1"].createInstance(Ci.nsIUserInfo).username, "username");
+ run_next_test();
+});
+
+add_test(function test_register_twice() {
+ let userInfoCID = MockRegistrar.register("@mozilla.org/userinfo;1", userInfo, ["originalname"]);
+ Assert.equal(Cc["@mozilla.org/userinfo;1"].createInstance(Ci.nsIUserInfo).username, "originalname");
+
+ let newUserInfoCID = MockRegistrar.register("@mozilla.org/userinfo;1", userInfo, ["newname"]);
+ Assert.equal(Cc["@mozilla.org/userinfo;1"].createInstance(Ci.nsIUserInfo).username, "newname");
+ run_next_test();
+});