tor-browser

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

browser_1933485_tab_groups_history.js (1258B)


      1 "use strict";
      2 
      3 const ORIG_STATE = SessionStore.getBrowserState();
      4 
      5 registerCleanupFunction(async () => {
      6  await SessionStoreTestUtils.promiseBrowserState(ORIG_STATE);
      7 });
      8 
      9 // This test ensures that closed tab groups are immediately stored in the
     10 // closedGroups array, even if their history was not stored in the tab state at
     11 // the time the tab group was closed.
     12 add_task(
     13  async function test_browser_1933485_tabGroupImmediatelyStoredInClosedGroups() {
     14    let win = await promiseNewWindowLoaded();
     15 
     16    const urls = ["about:blank", "about:robots", "https://www.example.com/"];
     17    const tabs = urls.map(url => BrowserTestUtils.addTab(win.gBrowser, url));
     18    await Promise.all(
     19      tabs.map((t, i) =>
     20        BrowserTestUtils.browserLoaded(t.linkedBrowser, { wantLoad: urls[i] })
     21      )
     22    );
     23 
     24    const tabGroup = win.gBrowser.addTabGroup(tabs);
     25 
     26    let removePromise = BrowserTestUtils.waitForEvent(
     27      tabGroup,
     28      "TabGroupRemoved"
     29    );
     30    win.gBrowser.removeTabGroup(tabGroup);
     31    await removePromise;
     32 
     33    const closedGroupState = SessionStore.getClosedTabGroups(win);
     34 
     35    Assert.equal(
     36      closedGroupState.length,
     37      1,
     38      "Tab group is stored in closedGroups"
     39    );
     40 
     41    await BrowserTestUtils.closeWindow(win);
     42  }
     43 );