tor-browser

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

browser_search.js (3152B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   https://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 const CANONIZE_MODIFIERS =
      7  AppConstants.platform == "macosx" ? { metaKey: true } : { ctrlKey: true };
      8 
      9 let searchbar = document.getElementById("searchbar-new");
     10 let defaultEngine;
     11 
     12 add_setup(async function () {
     13  await SearchTestUtils.updateRemoteSettingsConfig([{ identifier: "engine" }]);
     14  defaultEngine = Services.search.defaultEngine;
     15 });
     16 
     17 add_task(async function test_simple() {
     18  // This pref should not affect the searchbar.
     19  SpecialPowers.pushPrefEnv({
     20    set: [["browser.urlbar.openintab", true]],
     21  });
     22 
     23  let searchTerm = "test";
     24  searchbar.focus();
     25  EventUtils.sendString(searchTerm);
     26  EventUtils.synthesizeKey("KEY_Enter");
     27  await BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
     28 
     29  let expectedUrl = defaultEngine.getSubmission(searchTerm).uri.spec;
     30  Assert.equal(gBrowser.currentURI.spec, expectedUrl, "Search successful");
     31  Assert.equal(searchbar.value, searchTerm, "Search term was persisted");
     32 
     33  searchbar.value = "";
     34  SpecialPowers.popPrefEnv();
     35 });
     36 
     37 add_task(async function test_no_canonization() {
     38  let searchTerm = "test2";
     39  searchbar.focus();
     40  EventUtils.sendString(searchTerm);
     41  EventUtils.synthesizeKey("KEY_Enter", CANONIZE_MODIFIERS);
     42  await BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
     43 
     44  let expectedUrl = defaultEngine.getSubmission(searchTerm).uri.spec;
     45  Assert.equal(gBrowser.currentURI.spec, expectedUrl, "Search successful");
     46  Assert.equal(searchbar.value, searchTerm, "Search term was persisted");
     47  searchbar.value = "";
     48 });
     49 
     50 add_task(async function test_newtab_alt() {
     51  let searchTerm = "test3";
     52  let expectedUrl = defaultEngine.getSubmission(searchTerm).uri.spec;
     53 
     54  searchbar.focus();
     55  EventUtils.sendString(searchTerm);
     56 
     57  let newTabPromise = BrowserTestUtils.waitForNewTab(gBrowser);
     58  EventUtils.synthesizeKey("KEY_Enter", { altKey: true });
     59  let newTab = await newTabPromise;
     60  let newBrowser = gBrowser.getBrowserForTab(newTab);
     61 
     62  Assert.equal(gBrowser.selectedBrowser, newBrowser, "Opened in foreground");
     63  Assert.equal(newBrowser.currentURI.spec, expectedUrl, "Search successful");
     64  Assert.equal(searchbar.value, searchTerm, "Search term was persisted");
     65 
     66  searchbar.value = "";
     67  BrowserTestUtils.removeTab(newTab);
     68 });
     69 
     70 add_task(async function test_newtab_pref() {
     71  SpecialPowers.pushPrefEnv({
     72    set: [["browser.search.openintab", true]],
     73  });
     74  let searchTerm = "test4";
     75  let expectedUrl = defaultEngine.getSubmission(searchTerm).uri.spec;
     76 
     77  searchbar.focus();
     78  EventUtils.sendString(searchTerm);
     79 
     80  let newTabPromise = BrowserTestUtils.waitForNewTab(gBrowser);
     81  EventUtils.synthesizeKey("KEY_Enter");
     82  let newTab = await newTabPromise;
     83  let newBrowser = gBrowser.getBrowserForTab(newTab);
     84 
     85  Assert.equal(gBrowser.selectedBrowser, newBrowser, "Opened in foreground");
     86  Assert.equal(newBrowser.currentURI.spec, expectedUrl, "Search successful");
     87  Assert.equal(searchbar.value, searchTerm, "Search term was persisted");
     88 
     89  searchbar.value = "";
     90  BrowserTestUtils.removeTab(newTab);
     91  SpecialPowers.popPrefEnv();
     92 });