summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/about/browser_aboutHome_search_searchbar.js
blob: 7b08d2ae34128bd07045e03a6715652e3d7cc515 (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
44
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/
 */

const { CustomizableUITestUtils } = ChromeUtils.importESModule(
  "resource://testing-common/CustomizableUITestUtils.sys.mjs"
);
let gCUITestUtils = new CustomizableUITestUtils(window);

ignoreAllUncaughtExceptions();

add_task(async function test_setup() {
  await gCUITestUtils.addSearchBar();
  registerCleanupFunction(() => {
    gCUITestUtils.removeSearchBar();
  });
});

add_task(async function () {
  info("Cmd+k should focus the search box in the toolbar when it's present");

  await BrowserTestUtils.withNewTab(
    { gBrowser, url: "about:home" },
    async function (browser) {
      await BrowserTestUtils.synthesizeMouseAtCenter("#brandLogo", {}, browser);

      let doc = window.document;
      let searchInput = BrowserSearch.searchBar.textbox;
      isnot(
        searchInput,
        doc.activeElement,
        "Search bar should not be the active element."
      );

      EventUtils.synthesizeKey("k", { accelKey: true });
      await TestUtils.waitForCondition(() => doc.activeElement === searchInput);
      is(
        searchInput,
        doc.activeElement,
        "Search bar should be the active element."
      );
    }
  );
});