tor-browser

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

browser_aboutNewTab_bookmarksToolbarPrefs.js (2413B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 requestLongerTimeout(3);
      7 
      8 add_task(async function test_with_different_pref_states() {
      9  // [prefName, prefValue, toolbarVisibleExampleCom, toolbarVisibleNewTab]
     10  let bookmarksToolbarVisibilityStates = [
     11    ["browser.toolbars.bookmarks.visibility", "newtab"],
     12    ["browser.toolbars.bookmarks.visibility", "always"],
     13    ["browser.toolbars.bookmarks.visibility", "never"],
     14  ];
     15  for (let visibilityState of bookmarksToolbarVisibilityStates) {
     16    await SpecialPowers.pushPrefEnv({
     17      set: [visibilityState],
     18    });
     19 
     20    for (let privateWin of [true, false]) {
     21      info(
     22        `Testing with ${visibilityState} in a ${
     23          privateWin ? "private" : "non-private"
     24        } window`
     25      );
     26      let win = await BrowserTestUtils.openNewBrowserWindow({
     27        private: privateWin,
     28      });
     29      is(
     30        win.gBrowser.currentURI.spec,
     31        privateWin ? "about:privatebrowsing" : "about:blank",
     32        "Expecting about:privatebrowsing or about:blank as URI of new window"
     33      );
     34 
     35      if (!privateWin) {
     36        await waitForBookmarksToolbarVisibility({
     37          win,
     38          visible: visibilityState[1] == "always",
     39          message:
     40            "Toolbar should be visible only if visibilityState is 'always'. State: " +
     41            visibilityState[1],
     42        });
     43        await BrowserTestUtils.openNewForegroundTab({
     44          gBrowser: win.gBrowser,
     45          opening: "about:newtab",
     46          waitForLoad: false,
     47        });
     48      }
     49 
     50      await waitForBookmarksToolbarVisibility({
     51        win,
     52        visible:
     53          visibilityState[1] == "newtab" || visibilityState[1] == "always",
     54        message:
     55          "Toolbar should be visible as long as visibilityState isn't set to 'never'. State: " +
     56          visibilityState[1],
     57      });
     58 
     59      await BrowserTestUtils.openNewForegroundTab({
     60        gBrowser: win.gBrowser,
     61        // eslint-disable-next-line @microsoft/sdl/no-insecure-url
     62        opening: "http://example.com",
     63      });
     64      await waitForBookmarksToolbarVisibility({
     65        win,
     66        visible: visibilityState[1] == "always",
     67        message:
     68          "Toolbar should be visible only if visibilityState is 'always'. State: " +
     69          visibilityState[1],
     70      });
     71      await BrowserTestUtils.closeWindow(win);
     72    }
     73  }
     74 });