@Test
	public void testNoMakeLabelOnExistingString() throws Exception {

		StringTableProvider provider = performSearch();
		StringTableModel model = (StringTableModel) getInstanceField("stringModel", provider);
		GhidraTable table = (GhidraTable) getInstanceField("table", provider);
		toggleDefinedStateButtons(provider, false, true, false, false);
		waitForTableModel(model);

		// *************************************************************************
		// make sure that no label is made when auto label is disabled but that the string is
		// *******************************************************************************
		setAutoLabelCheckbox(provider, false);

		// select row Address 404fde: \n\rString6\n\r)
		selectRows(table, addr(0x404fde));
		assertEquals("00404fde",
			getModelValue(model, table.getSelectedRow(), addressColumnIndex).toString());

		// make string with auto label selected
		DockingAction makeStringAction =
			(DockingAction) getInstanceField("makeStringAction", provider);
		performAction(makeStringAction, model);

		// make sure label not created but the string is
		Symbol sym = program.getSymbolTable().getPrimarySymbol(addr(0x404fde));
		assertEquals(null, sym);

		Data d = listing.getDataAt(addr(0x404fde));
		DataType dt = d.getBaseDataType();
		assertTrue(dt instanceof StringDataType);
		assertEquals("\n\rString6\n\r", d.getValue());

	}
**********************************************************
		// ********* test offsets with unicode string *****************
		//*************************************************************

		selectRows(table, addr(0x404f27));

		//	  ******* TEST MAKE UNICODE WITH VARIOUS OFFSETS

		// change the offset in the offset text field
		setOffsetFieldValue(provider, 1);

		Msg.debug(this, "selected row count: " + table.getSelectedRowCount());
		int selectedRow = table.getSelectedRow();
		Msg.debug(this, "selected row/item after setting offset: " + selectedRow + ", item: " +
			model.getRowObject(selectedRow));

		// verify that the text in the view text field is correct
		String previewText = getPreviewText(provider);
		assertEquals("u\"\\rString9\\n\\r\"", previewText);

		setOffsetFieldValue(provider, 9);
		previewText = getPreviewText(provider);
		assertEquals("u\"\\n\\r\"", previewText);

		// test that an invalid offset length causes an error message and clears the view text
		setOffsetFieldValue(provider, 12);
		previewText = getPreviewText(provider);
		assertEquals("", previewText);

		// change it back to a correct value to see if the status message clears
		setOffsetFieldValue(provider, 10);
		previewText = getPreviewText(provider);
		assertEquals("u\"\\r\"", previewText);

		// test the making of unicode strings with offsets
		setOffsetFieldValue(provider, 2);

		assertEquals("00404f27",
			getModelValue(model, table.getSelectedRow(), addressColumnIndex).toString());

		selectedRow = table.getSelectedRow();
		DockingAction makeStringAction =
			(DockingAction) getInstanceField("makeStringAction", provider);
		performAction(makeStringAction, model);

		// test that the string was actually made correctly
		Data d = listing.getDataAt(addr(0x404f2b));

		assertEquals(20, d.getLength());

		assertEquals("String9\n\r", d.getValue());

		DataType dt = d.getBaseDataType();
		assertEquals("unicode", dt.getName());

		// test that the label was made
		Symbol sym = program.getSymbolTable().getPrimarySymbol(addr(0x404f2b));
		assertEquals("u_String9", sym.getName());

		// make sure the selection remains on the same row, as the item was removed
		assertEquals(selectedRow, table.getSelectedRow());

		//*************************************************************
		// ********* test offsets with Unicode32 string *****************
		//*************************************************************

		selectRows(table, addr(0x405423));

		//	  ******* TEST MAKE UNICODE WITH VARIOUS OFFSETS

		// change the offset in the offset text field
		setOffsetFieldValue(provider, 1);

		Msg.debug(this, "selected row count: " + table.getSelectedRowCount());
		selectedRow = table.getSelectedRow();
		Msg.debug(this, "selected row/item after setting offset: " + selectedRow + ", item: " +
			model.getRowObject(selectedRow));

		// verify that the text in the view text field is correct
		previewText = getPreviewText(provider);
		assertEquals("U\"\\rString9\\n\\r\"", previewText);

		setOffsetFieldValue(provider, 9);
		previewText = getPreviewText(provider);
		assertEquals("U\"\\n\\r\"", previewText);

		// test that an invalid offset length causes an error message and clears the view text
		setOffsetFieldValue(provider, 12);
		previewText = getPreviewText(provider);
		assertEquals("", previewText);

		// change it back to a correct value to see if the status message clears
		setOffsetFieldValue(provider, 10);
		previewText = getPreviewText(provider);
		assertEquals("U\"\\r\"", previewText);

		// test the making of unicode strings with offsets
		setOffsetFieldValue(provider, 2);

		selectedRow = table.getSelectedRow();

		assertEquals("00405423", getModelValue(model, selectedRow, addressColumnIndex).toString());

		performAction(makeStringAction, model);

		// test that the string was actually made correctly
		d = listing.getDataAt(addr(0x40542b));

		assertEquals(40, d.getLength());

		assertEquals("String9\n\r", d.getValue());

		dt = d.getBaseDataType();
		assertEquals("unicode32", dt.getName());

		// test that the label was made
		sym = program.getSymbolTable().getPrimarySymbol(addr(0x40542b));
		assertEquals("u_String9", sym.getName()); // duplicate label causes address to be appended

		// make sure the selection remains on the same row, as the item was removed
		assertEquals(selectedRow, table.getSelectedRow());

		//*************************************************************
		// ********* test offsets with regular string *****************
		//*************************************************************

		selectRows(table, addr(0x404fde));

		// change the offset in the offset text field
		setOffsetFieldValue(provider, 1);

		previewText = getPreviewText(provider);
		assertEquals("\"\\rString6\\n\\r\"", previewText);

		// test that an invalid offset length causes an error message and clears the view text
		setOffsetFieldValue(provider, 12);
		previewText = getPreviewText(provider);
		assertEquals("", previewText);

		// change it back to a correct value to see if the status message clears
		setOffsetFieldValue(provider, 11);
		previewText = getPreviewText(provider);
		assertEquals("\"\"", previewText);
	}

	/*
test the search selection option
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/string/StringTableSearchTest.java