  var module = Components.utils.import("resource: null); do_check_eq(typeof(XPCOMUtils), "undefined"); do_check_eq(typeof(module), "object"); do_check_eq(typeof(module.XPCOMUtils), "object"); do_check_eq(typeof(module.XPCOMUtils.generateModule), "function"); do_check_true(scope.XPCOMUtils == module.XPCOMUtils);   
function run_test() {     var scope = {};  Components.utils.import("resource://gre/modules/XPCOMUtils.jsm", scope);  do_check_eq(typeof(scope.XPCOMUtils), "object");  do_check_eq(typeof(scope.XPCOMUtils.generateModule), "function");    // try again on the global object  do_check_eq(typeof(Components.utils.import), "function");  Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");  do_check_eq(typeof(XPCOMUtils), "object");  do_check_eq(typeof(XPCOMUtils.generateModule), "function");    // try on a new object  var scope2 = {};  Components.utils.import("resource://gre/modules/XPCOMUtils.jsm", scope2);  do_check_eq(typeof(scope2.XPCOMUtils), "object");  do_check_eq(typeof(scope2.XPCOMUtils.generateModule), "function");    do_check_true(scope2.XPCOMUtils == scope.XPCOMUtils);  // make sure we throw when the second arg is bogus  var didThrow = false;  try {      Components.utils.import("resource://gre/modules/XPCOMUtils.jsm", "wrong");  } catch (ex) {      print("exception (expected): " + ex);      didThrow = true;  }  do_check_true(didThrow);   // try to create a component  do_load_module("/js/src/xpconnect/tests/unit/component_import.js");  const contractID = "@mozilla.org/tests/module-importer;";  do_check_true((contractID + "1") in Components.classes);  var foo = Components.classes[contractID + "1"]                      .createInstance(Components.interfaces.nsIClassInfo);  do_check_true(Boolean(foo));  do_check_true(foo.contractID == contractID + "1");  // XXX the following check succeeds only if the test component wasn't  //     already registered. Need to figure out a way to force registration  //     (to manually force it, delete compreg.dat before running the test)  // do_check_true(foo.wrappedJSObject.postRegisterCalled);  // try to create a component by CID  const cid = "{6b933fe6-6eba-4622-ac86-e4f654f1b474}";  do_check_true(cid in Components.classesByID);  foo = Components.classesByID[cid]                  .createInstance(Components.interfaces.nsIClassInfo);  do_check_true(foo.contractID == contractID + "1");  // try to create another component which doesn't directly implement QI  do_check_true((contractID + "2") in Components.classes);  var bar = Components.classes[contractID + "2"]                      .createInstance(Components.interfaces.nsIClassInfo);  do_check_true(Boolean(bar));  do_check_true(bar.contractID == contractID + "2");}
5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5872/c30fbd2d20a7aa986d1b2e9bdc3df0f805e00a38/test_import.js/buggy/js/src/xpconnect/tests/unit/test_import.js