summaryrefslogtreecommitdiffstats
path: root/browser/components/urlbar/tests/engagementTelemetry/browser/head-search_engine_default_id.js
blob: c0af764e7f5674c3cd148b70307eb8af0feb4ca4 (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
41
42
43
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

/* import-globals-from head.js */

async function doSearchEngineDefaultIdTest({ trigger, assert }) {
  await doTest(async browser => {
    info("Test with current engine");
    const defaultEngine = await Services.search.getDefault();

    await openPopup("x");
    await trigger();
    await assert(defaultEngine.telemetryId);
  });

  await doTest(async browser => {
    info("Test with new engine");
    const defaultEngine = await Services.search.getDefault();
    const newEngineName = "NewDummyEngine";
    await SearchTestUtils.installSearchExtension({
      name: newEngineName,
      search_url: "https://example.com/",
      search_url_get_params: "q={searchTerms}",
    });
    const newEngine = await Services.search.getEngineByName(newEngineName);
    Assert.notEqual(defaultEngine.telemetryId, newEngine.telemetryId);
    await Services.search.setDefault(
      newEngine,
      Ci.nsISearchService.CHANGE_REASON_UNKNOWN
    );

    await openPopup("x");
    await trigger();
    await assert(newEngine.telemetryId);

    await Services.search.setDefault(
      defaultEngine,
      Ci.nsISearchService.CHANGE_REASON_UNKNOWN
    );
  });
}