tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_mockRegistrar.js (1738B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 const { MockRegistrar } = ChromeUtils.importESModule(
      5  "resource://testing-common/MockRegistrar.sys.mjs"
      6 );
      7 
      8 function platformInfo(injectedValue) {
      9  this.platformVersion = injectedValue;
     10 }
     11 
     12 platformInfo.prototype = {
     13  platformVersion: "some version",
     14  platformBuildID: "some id",
     15  QueryInterface: ChromeUtils.generateQI(["nsIPlatformInfo"]),
     16 };
     17 
     18 add_test(function test_register() {
     19  let localPlatformInfo = {
     20    platformVersion: "local version",
     21    platformBuildID: "local id",
     22    QueryInterface: ChromeUtils.generateQI(["nsIPlatformInfo"]),
     23  };
     24 
     25  MockRegistrar.register("@mozilla.org/xre/app-info;1", localPlatformInfo);
     26  Assert.equal(
     27    Cc["@mozilla.org/xre/app-info;1"].createInstance(Ci.nsIPlatformInfo)
     28      .platformVersion,
     29    "local version"
     30  );
     31  run_next_test();
     32 });
     33 
     34 add_test(function test_register_with_arguments() {
     35  MockRegistrar.register("@mozilla.org/xre/app-info;1", platformInfo, [
     36    "override",
     37  ]);
     38  Assert.equal(
     39    Cc["@mozilla.org/xre/app-info;1"].createInstance(Ci.nsIPlatformInfo)
     40      .platformVersion,
     41    "override"
     42  );
     43  run_next_test();
     44 });
     45 
     46 add_test(function test_register_twice() {
     47  MockRegistrar.register("@mozilla.org/xre/app-info;1", platformInfo, [
     48    "override",
     49  ]);
     50  Assert.equal(
     51    Cc["@mozilla.org/xre/app-info;1"].createInstance(Ci.nsIPlatformInfo)
     52      .platformVersion,
     53    "override"
     54  );
     55 
     56  MockRegistrar.register("@mozilla.org/xre/app-info;1", platformInfo, [
     57    "override again",
     58  ]);
     59  Assert.equal(
     60    Cc["@mozilla.org/xre/app-info;1"].createInstance(Ci.nsIPlatformInfo)
     61      .platformVersion,
     62    "override again"
     63  );
     64  run_next_test();
     65 });