@Test
	public void testShowHistory() throws Exception {
		// create 3 versions of the program

		GTreeNode programNode = getNode(PROGRAM_A);
		addToVersionControl(programNode, false);

		checkout(programNode);

		Program program = (Program) ((DomainFileNode) programNode).getDomainFile()
				.getDomainObject(this, true, false, TaskMonitor.DUMMY);

		createHistoryEntry(program, "Symbol1");
		frontEnd.checkIn(programNode, "This is checkin 1");

		// make another change
		createHistoryEntry(program, "Symbol2");
		frontEnd.checkIn(programNode, "This is checkin 2");

		// make one more change
		createHistoryEntry(program, "Symbol3");
		frontEnd.checkIn(programNode, "This is checkin 3");

		program.release(this);

		showHistory(programNode);

		VersionHistoryDialog dialog = waitForDialogComponent(VersionHistoryDialog.class);
		assertNotNull(dialog);

		VersionHistoryPanel panel = findComponent(dialog, VersionHistoryPanel.class);
		assertNotNull(panel);
		VersionHistoryTableModel model = panel.getVersionHistoryTableModel();
		assertEquals(4, model.getRowCount());

		JTable table = findComponent(dialog, JTable.class);
		AbstractSortedTableModel<?> m = (AbstractSortedTableModel<?>) table.getModel();
		assertEquals(VersionHistoryTableModel.VERSION_COL, m.getPrimarySortColumnIndex());

		TableSortState sortState = m.getTableSortState();
		assertEquals("More columns sorted than expected", 1, sortState.getSortedColumnCount());
		List<ColumnSortState> sortStates = sortState.getAllSortStates();
		ColumnSortState columnSortState = sortStates.get(0);
		int index = columnSortState.getColumnModelIndex();
		assertEquals("Model not sorted on correct column", VersionHistoryTableModel.VERSION_COL,
			index);
		assertFalse("Column not sorted descending", columnSortState.isAscending());

		// sorted descending, so row 0 is version 4, row 1 is version 3, etc
		assertVersionAtRow(model, 1, 3, "This is checkin 2");
		assertVersionAtRow(model, 2, 2, "This is checkin 1");

		runSwing(() -> dialog.close());
	}
Tests for version control (not multi user).
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/framework/main/datatree/VersionControlAction1Test.java