forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			192 lines
		
	
	
	
		
			5.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			192 lines
		
	
	
	
		
			5.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
add_task(async function testMoveStartEnabledClickedFromNonSelectedTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
  let tab2 = await addTab();
 | 
						|
  let tab3 = await addTab();
 | 
						|
 | 
						|
  let tabs = [tab2, tab3];
 | 
						|
 | 
						|
  let menuItemMoveStartTab = document.getElementById("context_moveToStart");
 | 
						|
 | 
						|
  await triggerClickOn(tab, {});
 | 
						|
  await triggerClickOn(tab2, { ctrlKey: true });
 | 
						|
 | 
						|
  ok(tab.multiselected, "Tab is multiselected");
 | 
						|
  ok(tab2.multiselected, "Tab2 is multiselected");
 | 
						|
 | 
						|
  updateTabContextMenu(tab3);
 | 
						|
  is(menuItemMoveStartTab.disabled, false, "Move Tab to Start is enabled");
 | 
						|
 | 
						|
  for (let tabToRemove of tabs) {
 | 
						|
    BrowserTestUtils.removeTab(tabToRemove);
 | 
						|
  }
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveStartDisabledFromFirstUnpinnedTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
  let tab2 = await addTab();
 | 
						|
 | 
						|
  let menuItemMoveStartTab = document.getElementById("context_moveToStart");
 | 
						|
 | 
						|
  gBrowser.pinTab(tab);
 | 
						|
 | 
						|
  updateTabContextMenu(tab2);
 | 
						|
  is(menuItemMoveStartTab.disabled, true, "Move Tab to Start is disabled");
 | 
						|
 | 
						|
  BrowserTestUtils.removeTab(tab2);
 | 
						|
  gBrowser.unpinTab(tab);
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveStartDisabledFromFirstPinnedTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
  let tab2 = await addTab();
 | 
						|
 | 
						|
  let menuItemMoveStartTab = document.getElementById("context_moveToStart");
 | 
						|
 | 
						|
  gBrowser.pinTab(tab);
 | 
						|
 | 
						|
  updateTabContextMenu(tab);
 | 
						|
  is(menuItemMoveStartTab.disabled, true, "Move Tab to Start is disabled");
 | 
						|
 | 
						|
  BrowserTestUtils.removeTab(tab2);
 | 
						|
  gBrowser.unpinTab(tab);
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveStartDisabledFromOnlyTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
 | 
						|
  let menuItemMoveStartTab = document.getElementById("context_moveToStart");
 | 
						|
 | 
						|
  updateTabContextMenu(tab);
 | 
						|
  is(menuItemMoveStartTab.disabled, true, "Move Tab to Start is disabled");
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveStartDisabledFromOnlyPinnedTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
 | 
						|
  let menuItemMoveStartTab = document.getElementById("context_moveToStart");
 | 
						|
 | 
						|
  gBrowser.pinTab(tab);
 | 
						|
 | 
						|
  updateTabContextMenu(tab);
 | 
						|
  is(menuItemMoveStartTab.disabled, true, "Move Tab to Start is disabled");
 | 
						|
 | 
						|
  gBrowser.unpinTab(tab);
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveStartEnabledFromLastPinnedTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
  let tab2 = await addTab();
 | 
						|
  let tab3 = await addTab();
 | 
						|
 | 
						|
  let tabs = [tab2, tab3];
 | 
						|
 | 
						|
  let menuItemMoveStartTab = document.getElementById("context_moveToStart");
 | 
						|
 | 
						|
  gBrowser.pinTab(tab);
 | 
						|
  gBrowser.pinTab(tab2);
 | 
						|
 | 
						|
  updateTabContextMenu(tab2);
 | 
						|
  is(menuItemMoveStartTab.disabled, false, "Move Tab to Start is enabled");
 | 
						|
 | 
						|
  for (let tabToRemove of tabs) {
 | 
						|
    BrowserTestUtils.removeTab(tabToRemove);
 | 
						|
  }
 | 
						|
 | 
						|
  gBrowser.unpinTab(tab);
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveStartDisabledFromFirstVisibleTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
  let tab2 = await addTab();
 | 
						|
 | 
						|
  let menuItemMoveStartTab = document.getElementById("context_moveToStart");
 | 
						|
 | 
						|
  gBrowser.selectTabAtIndex(1);
 | 
						|
  gBrowser.hideTab(tab);
 | 
						|
 | 
						|
  updateTabContextMenu(tab2);
 | 
						|
  is(menuItemMoveStartTab.disabled, true, "Move Tab to Start is disabled");
 | 
						|
 | 
						|
  BrowserTestUtils.removeTab(tab2);
 | 
						|
  gBrowser.showTab(tab);
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveEndEnabledClickedFromNonSelectedTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
  let tab2 = await addTab();
 | 
						|
  let tab3 = await addTab();
 | 
						|
 | 
						|
  let tabs = [tab2, tab3];
 | 
						|
 | 
						|
  let menuItemMoveEndTab = document.getElementById("context_moveToEnd");
 | 
						|
 | 
						|
  await triggerClickOn(tab2, {});
 | 
						|
  await triggerClickOn(tab3, { ctrlKey: true });
 | 
						|
 | 
						|
  ok(tab2.multiselected, "Tab2 is multiselected");
 | 
						|
  ok(tab3.multiselected, "Tab3 is multiselected");
 | 
						|
 | 
						|
  updateTabContextMenu(tab);
 | 
						|
  is(menuItemMoveEndTab.disabled, false, "Move Tab to End is enabled");
 | 
						|
 | 
						|
  for (let tabToRemove of tabs) {
 | 
						|
    BrowserTestUtils.removeTab(tabToRemove);
 | 
						|
  }
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveEndDisabledFromLastPinnedTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
  let tab2 = await addTab();
 | 
						|
  let tab3 = await addTab();
 | 
						|
 | 
						|
  let tabs = [tab2, tab3];
 | 
						|
 | 
						|
  let menuItemMoveEndTab = document.getElementById("context_moveToEnd");
 | 
						|
 | 
						|
  gBrowser.pinTab(tab);
 | 
						|
  gBrowser.pinTab(tab2);
 | 
						|
 | 
						|
  updateTabContextMenu(tab2);
 | 
						|
  is(menuItemMoveEndTab.disabled, true, "Move Tab to End is disabled");
 | 
						|
 | 
						|
  for (let tabToRemove of tabs) {
 | 
						|
    BrowserTestUtils.removeTab(tabToRemove);
 | 
						|
  }
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveEndDisabledFromLastVisibleTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
  let tab2 = await addTab();
 | 
						|
 | 
						|
  let menuItemMoveEndTab = document.getElementById("context_moveToEnd");
 | 
						|
 | 
						|
  gBrowser.hideTab(tab2);
 | 
						|
 | 
						|
  updateTabContextMenu(tab);
 | 
						|
  is(menuItemMoveEndTab.disabled, true, "Move Tab to End is disabled");
 | 
						|
 | 
						|
  BrowserTestUtils.removeTab(tab2);
 | 
						|
  gBrowser.showTab(tab);
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveEndDisabledFromOnlyTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
 | 
						|
  let menuItemMoveEndTab = document.getElementById("context_moveToEnd");
 | 
						|
 | 
						|
  updateTabContextMenu(tab);
 | 
						|
  is(menuItemMoveEndTab.disabled, true, "Move Tab to End is disabled");
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function testMoveEndDisabledFromOnlyPinnedTab() {
 | 
						|
  let tab = gBrowser.selectedTab;
 | 
						|
 | 
						|
  let menuItemMoveEndTab = document.getElementById("context_moveToEnd");
 | 
						|
 | 
						|
  gBrowser.pinTab(tab);
 | 
						|
 | 
						|
  updateTabContextMenu(tab);
 | 
						|
  is(menuItemMoveEndTab.disabled, true, "Move Tab to End is disabled");
 | 
						|
 | 
						|
  gBrowser.unpinTab(tab);
 | 
						|
});
 |