summaryrefslogtreecommitdiffstats
path: root/toolkit/components/search/tests/xpcshell/test_SearchStaticData.js
blob: 741953a1cf8450f4c00ded7272c7f046b1878a85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* Any copyright is dedicated to the Public Domain.
 *    http://creativecommons.org/publicdomain/zero/1.0/ */

/*
 * Tests the SearchStaticData module.
 */

"use strict";

const { SearchStaticData } = ChromeUtils.importESModule(
  "resource://gre/modules/SearchStaticData.sys.mjs"
);

function run_test() {
  Assert.ok(
    SearchStaticData.getAlternateDomains("www.google.com").includes(
      "www.google.fr"
    )
  );
  Assert.ok(
    SearchStaticData.getAlternateDomains("www.google.fr").includes(
      "www.google.com"
    )
  );
  Assert.ok(
    SearchStaticData.getAlternateDomains("www.google.com").every(d =>
      d.startsWith("www.google.")
    )
  );
  Assert.ok(!SearchStaticData.getAlternateDomains("google.com").length);

  // Test that methods from SearchStaticData module can be overwritten,
  // needed for hotfixing.
  let backup = SearchStaticData.getAlternateDomains;
  SearchStaticData.getAlternateDomains = () => ["www.bing.fr"];
  Assert.deepEqual(SearchStaticData.getAlternateDomains("www.bing.com"), [
    "www.bing.fr",
  ]);
  SearchStaticData.getAlternateDomains = backup;
}