chrome/test/unit/test_abi.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:a15689e9e2a1
1 const XULAppInfo = {
2 vendor: "Mozilla",
3 name: "XPCShell",
4 ID: "{39885e5f-f6b4-4e2a-87e5-6259ecf79011}",
5 version: "5",
6 appBuildID: "2007010101",
7 platformVersion: "1.9",
8 platformBuildID: "2007010101",
9 inSafeMode: false,
10 logConsoleErrors: true,
11 OS: "XPCShell",
12 XPCOMABI: "noarch-spidermonkey",
13
14 QueryInterface: function QueryInterface(iid) {
15 if (iid.equals(Ci.nsIXULAppInfo)
16 || iid.equals(Ci.nsIXULRuntime)
17 || iid.equals(Ci.nsISupports))
18 return this;
19
20 throw Components.results.NS_ERROR_NO_INTERFACE;
21 }
22 };
23
24 const XULAppInfoFactory = {
25 // These two are used when we register all our factories (and unregister)
26 CID: XULAPPINFO_CID,
27 scheme: "XULAppInfo",
28 contractID: XULAPPINFO_CONTRACTID,
29 createInstance: function (outer, iid) {
30 if (outer != null)
31 throw Cr.NS_ERROR_NO_AGGREGATION;
32 return XULAppInfo.QueryInterface(iid);
33 }
34 };
35
36 var registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
37 registrar.registerFactory(XULAPPINFO_CID, "XULAppInfo",
38 XULAPPINFO_CONTRACTID, XULAppInfoFactory);
39
40 registerManifests([do_get_file("data/test_abi.manifest")]);
41
42 const catman = Components.classes["@mozilla.org/categorymanager;1"].
43 getService(Components.interfaces.nsICategoryManager);
44
45 function is_registered(name) {
46 try {
47 var d = catman.getCategoryEntry("abitest", name);
48 return d == "found";
49 }
50 catch (e) {
51 return false;
52 }
53 }
54
55 function run_test() {
56 do_check_true(is_registered("test1"));
57 do_check_false(is_registered("test2"));
58 do_check_true(is_registered("test3"));
59 do_check_false(is_registered("test4"));
60 }

mercurial