@Test
	public void testKeyboardNavigationWithListShowing_SCR_9490() throws Exception {
		//
		// Test that the user can keep pressing the next/previous keys with the list
		// open.
		//

		//@formatter:off
		programNames = new String[] { 
				"notepad", "login", "tms",       // visible 
				"taskman", "TestGhidraSearches"  // hidden
		};
		//@formatter:on
		openPrograms_HideLastOpened();

		// by trial-and-error, we know that 'tms' is the last visible program tab 
		// after resizing
		setFrameSize(600, 500);
		assertShowing(programs[2]);
		assertHidden(programs[3]);

		// select 'tms', which is the last tab before the list is shown
		selectTab(programs[2]);
		performNextAction();
		Window window = getListWindow();
		assertTrue(window.isShowing());

		// the newly selected program should the first program, as the selection 
		// should have left the window and wrapped around 'notepad'
		performNextAction();
		assertProgramSelected(programs[0]);
		assertFalse(window.isShowing());

		//
		// Now try the other direction, which should wrap back around the other direction,
		// showing the list, with another action to keep on moving.
		//		
		selectTab(programs[0]);// start off at the first tab	
		performPreviousAction();
		Window listWindow = getListWindow();
		assertTrue(listWindow.isShowing());

		performPreviousAction();
		assertProgramSelected(programs[2]);// 'tms'--last visible program
		assertFalse(listWindow.isShowing());
	}
Tests for the plugin that manages the tab for multiple open programs.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/progmgr/MultiTabPluginTest.java