tor-browser

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

browser_search_history.js (1826B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 /**
      5 * Tests the Search History option from the menubar starts Address Bar search
      6 * mode for history.
      7 */
      8 ChromeUtils.defineLazyGetter(this, "UrlbarTestUtils", () => {
      9  const { UrlbarTestUtils: module } = ChromeUtils.importESModule(
     10    "resource://testing-common/UrlbarTestUtils.sys.mjs"
     11  );
     12  module.init(this);
     13  return module;
     14 });
     15 
     16 add_task(async function test_menu_search_history_with_window_open() {
     17  info("Opening history menu");
     18  let searchHistoryMenuEntry = document.getElementById("menu_searchHistory");
     19 
     20  searchHistoryMenuEntry.doCommand();
     21 
     22  await isUrlbarInHistorySearchMode(window);
     23 });
     24 
     25 add_task(async function test_menu_search_history_opens_new_window() {
     26  let newWindowPromise = TestUtils.topicObserved(
     27    "browser-delayed-startup-finished"
     28  );
     29 
     30  info(
     31    "Executing command in untracked browser window (simulating non-browser window)."
     32  );
     33  BrowserWindowTracker.untrackForTestsOnly(window);
     34  let searchHistoryMenuEntry = document.getElementById("menu_searchHistory");
     35  searchHistoryMenuEntry.doCommand();
     36  BrowserWindowTracker.track(window);
     37 
     38  info("Waiting for new window to open.");
     39  let [newWindow] = await newWindowPromise;
     40  await isUrlbarInHistorySearchMode(newWindow);
     41  await BrowserTestUtils.closeWindow(newWindow);
     42 });
     43 
     44 async function isUrlbarInHistorySearchMode(targetWin) {
     45  is(
     46    targetWin,
     47    BrowserWindowTracker.getTopWindow(),
     48    "Target window is top window."
     49  );
     50  await UrlbarTestUtils.promisePopupOpen(targetWin, () => {});
     51 
     52  // Verify URLBar is in search mode with correct restriction
     53  let searchMode = targetWin.gURLBar.searchModeForToken("^");
     54  searchMode.entry = "historymenu";
     55  await UrlbarTestUtils.assertSearchMode(targetWin, searchMode);
     56 }