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 );