diff options
Diffstat (limited to 'xpcom/tests/unit/test_process_directives.js')
-rw-r--r-- | xpcom/tests/unit/test_process_directives.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/xpcom/tests/unit/test_process_directives.js b/xpcom/tests/unit/test_process_directives.js new file mode 100644 index 0000000000..807246f464 --- /dev/null +++ b/xpcom/tests/unit/test_process_directives.js @@ -0,0 +1,25 @@ +var Ci = Components.interfaces; +var Cc = Components.classes; + +Components.utils.import("resource:///modules/Services.jsm"); + +function run_test() +{ + Components.manager.autoRegister(do_get_file("data/process_directive.manifest")); + + let isChild = Services.appinfo.processType == Services.appinfo.PROCESS_TYPE_CONTENT; + + if (isChild) { + do_check_false("@mozilla.org/xpcom/tests/MainProcessDirectiveTest;1" in Cc); + } else { + let svc = Cc["@mozilla.org/xpcom/tests/MainProcessDirectiveTest;1"].createInstance(Ci.nsISupportsString); + do_check_eq(svc.data, "main process"); + } + + if (!isChild) { + do_check_false("@mozilla.org/xpcom/tests/ChildProcessDirectiveTest;1" in Cc); + } else { + let svc = Cc["@mozilla.org/xpcom/tests/ChildProcessDirectiveTest;1"].createInstance(Ci.nsISupportsString); + do_check_eq(svc.data, "child process"); + } +} |