summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/about/browser_aboutHome_search_searchbar.js
blob: eb0d23fabf516678113f5dde0f4f3ce53352ca12 (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.import(
  "resource://testing-common/CustomizableUITestUtils.jsm"
);
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."
      );
    }
  );
});