Test fixes

This commit is contained in:
dragonmacher 2024-05-07 10:06:53 -04:00
parent f2a94605eb
commit 05f8745c28
3 changed files with 40 additions and 54 deletions

View file

@ -18,6 +18,7 @@ package ghidra.app.plugin.core.symboltree.actions;
import docking.action.MenuData;
import ghidra.app.plugin.core.symboltree.SymbolTreeActionContext;
import ghidra.app.plugin.core.symboltree.SymbolTreePlugin;
import ghidra.app.plugin.core.symboltree.nodes.SymbolNode;
import ghidra.app.plugin.core.symboltree.nodes.SymbolTreeNode;
public class RenameAction extends SymbolTreeContextAction {
@ -31,7 +32,7 @@ public class RenameAction extends SymbolTreeContextAction {
@Override
public boolean isEnabledForContext(SymbolTreeActionContext context) {
SymbolTreeNode node = context.getSelectedNode();
return node != null;
return node instanceof SymbolNode;
}
@Override

View file

@ -42,7 +42,7 @@ public class SymbolTreeLocationReferencesTest extends AbstractLocationReferences
super.setUp();
symbolTreePlugin = getPlugin(tool, SymbolTreePlugin.class);
treeProvider = (SymbolTreeProvider) getInstanceField("provider", symbolTreePlugin);
treeProvider = (SymbolTreeProvider) getInstanceField("connectedProvider", symbolTreePlugin);
showProvider(tool, treeProvider.getName());
symbolTree = (SymbolGTree) getInstanceField("tree", treeProvider);
showSymbolReferencesAction =
@ -118,8 +118,9 @@ public class SymbolTreeLocationReferencesTest extends AbstractLocationReferences
externalLocation);
int txId = program.startTransaction("Add Ext Ref");
try {
program.getReferenceManager().addExternalReference(refAddr, 1, externalLocation,
SourceType.USER_DEFINED, refType);
program.getReferenceManager()
.addExternalReference(refAddr, 1, externalLocation, SourceType.USER_DEFINED,
refType);
return externalLocation.createFunction();
}
finally {
@ -130,8 +131,9 @@ public class SymbolTreeLocationReferencesTest extends AbstractLocationReferences
private void addThunk(Address thunkAddr, Function thunkedFunction) throws Exception {
int txId = program.startTransaction("Add Thunk");
try {
Function f = program.getFunctionManager().createFunction(null, thunkAddr,
new AddressSet(thunkAddr), SourceType.USER_DEFINED);
Function f = program.getFunctionManager()
.createFunction(null, thunkAddr, new AddressSet(thunkAddr),
SourceType.USER_DEFINED);
f.setThunkedFunction(thunkedFunction);
}
finally {

View file

@ -257,15 +257,15 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest {
util.selectNode(rootNode);
ActionContext context = util.getSymbolTreeContext();
assertTrue(createLibraryAction.isEnabledForContext(context));
assertTrue(!createClassAction.isEnabledForContext(context));
assertTrue(!createNamespaceAction.isEnabledForContext(context));
assertTrue(!renameAction.isEnabledForContext(context));
assertTrue(!cutAction.isEnabledForContext(context));
assertTrue(!pasteAction.isEnabledForContext(context));
assertTrue(!deleteAction.isEnabledForContext(context));
assertTrue(!selectionAction.isEnabledForContext(context));
assertTrue(!goToExtLocAction.isEnabledForContext(context));
assertTrue(!goToExtLocAction.isEnabledForContext(context));
assertFalse(createClassAction.isEnabledForContext(context));
assertFalse(createNamespaceAction.isEnabledForContext(context));
assertFalse(renameAction.isEnabledForContext(context));
assertFalse(cutAction.isEnabledForContext(context));
assertFalse(pasteAction.isEnabledForContext(context));
assertFalse(deleteAction.isEnabledForContext(context));
assertFalse(selectionAction.isEnabledForContext(context));
assertFalse(goToExtLocAction.isEnabledForContext(context));
assertFalse(goToExtLocAction.isEnabledForContext(context));
}
@Test
@ -281,9 +281,6 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest {
util.selectNode(node);
performAction(cutAction, util.getSymbolTreeContext(), true);
util.selectNode(rootNode);
assertTrue(pasteAction.isEnabledForContext(util.getSymbolTreeContext()));
// move a function to a namespace
// cut a function; select global; paste should be enabled
GTreeNode nsParentNode = rootNode.getChild(5);
@ -312,10 +309,6 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest {
util.selectNode(gNode);
assertTrue(cutAction.isEnabledForContext(util.getSymbolTreeContext()));
performAction(cutAction, util.getSymbolTreeContext(), true);
// select the root node
util.selectNode(rootNode);
assertTrue(pasteAction.isEnabledForContext(util.getSymbolTreeContext()));
}
@Test
@ -354,7 +347,7 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest {
GTreeNode dNode = fNode.getChild(0);
util.selectNode(dNode);
assertTrue(!pasteAction.isEnabledForContext(util.getSymbolTreeContext()));
assertFalse(pasteAction.isEnabledForContext(util.getSymbolTreeContext()));
}
@Test
@ -415,35 +408,25 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest {
else {
assertFalse(createLibraryIsEnabled);
}
assertTrue(!createClassAction.isEnabledForContext(context));
assertTrue(!createNamespaceAction.isEnabledForContext(context));
assertTrue(!renameAction.isEnabledForContext(context));
assertTrue(!renameAction.isEnabledForContext(context));
assertTrue(!cutAction.isEnabledForContext(context));
assertTrue(!cutAction.isEnabledForContext(context));
assertTrue(!pasteAction.isEnabledForContext(context));
assertTrue(!pasteAction.isEnabledForContext(context));
assertTrue(!deleteAction.isEnabledForContext(context));
assertTrue(!deleteAction.isEnabledForContext(context));
assertTrue(!selectionAction.isEnabledForContext(context));
assertTrue(!selectionAction.isEnabledForContext(context));
assertFalse(createClassAction.isEnabledForContext(context));
assertFalse(createNamespaceAction.isEnabledForContext(context));
assertFalse(renameAction.isEnabledForContext(context));
assertFalse(cutAction.isEnabledForContext(context));
assertFalse(pasteAction.isEnabledForContext(context));
assertFalse(deleteAction.isEnabledForContext(context));
assertFalse(selectionAction.isEnabledForContext(context));
GTreeNode lNode = rootNode.getChild(1);
util.selectNode(lNode);
context = util.getSymbolTreeContext();
assertTrue(!createLibraryAction.isEnabledForContext(context));
assertTrue(!createClassAction.isEnabledForContext(context));
assertTrue(!createNamespaceAction.isEnabledForContext(context));
assertTrue(!renameAction.isEnabledForContext(context));
assertTrue(!renameAction.isEnabledForContext(context));
assertTrue(!cutAction.isEnabledForContext(context));
assertTrue(!cutAction.isEnabledForContext(context));
assertTrue(!pasteAction.isEnabledForContext(context));
assertTrue(!pasteAction.isEnabledForContext(context));
assertTrue(!deleteAction.isEnabledForContext(context));
assertTrue(!deleteAction.isEnabledForContext(context));
assertTrue(!selectionAction.isEnabledForContext(context));
assertTrue(!selectionAction.isEnabledForContext(context));
assertFalse(createLibraryAction.isEnabledForContext(context));
assertFalse(createClassAction.isEnabledForContext(context));
assertFalse(createNamespaceAction.isEnabledForContext(context));
assertFalse(renameAction.isEnabledForContext(context));
assertFalse(cutAction.isEnabledForContext(context));
assertFalse(pasteAction.isEnabledForContext(context));
assertFalse(deleteAction.isEnabledForContext(context));
assertFalse(selectionAction.isEnabledForContext(context));
}
@Test
@ -457,8 +440,8 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest {
GTreeNode pNode = gNode.getChild(0);
util.selectNode(pNode);
ActionContext context = util.getSymbolTreeContext();
assertTrue(!cutAction.isEnabledForContext(context));
assertTrue(!pasteAction.isEnabledForContext(context));
assertFalse(cutAction.isEnabledForContext(context));
assertFalse(pasteAction.isEnabledForContext(context));
assertTrue(renameAction.isEnabledForContext(context));
assertTrue(renameAction.isEnabledForContext(context));
assertTrue(selectionAction.isEnabledForContext(context));
@ -476,7 +459,7 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest {
util.selectNode(gNode);
ActionContext context = util.getSymbolTreeContext();
assertTrue(cutAction.isEnabledForContext(context));
assertTrue(!pasteAction.isEnabledForContext(context));
assertFalse(pasteAction.isEnabledForContext(context));
assertTrue(renameAction.isEnabledForContext(context));
assertTrue(renameAction.isEnabledForContext(context));
assertTrue(selectionAction.isEnabledForContext(context));
@ -495,7 +478,7 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest {
util.selectNode(pNode);
ActionContext context = util.getSymbolTreeContext();
assertTrue(cutAction.isEnabledForContext(context));
assertTrue(!pasteAction.isEnabledForContext(context));
assertFalse(pasteAction.isEnabledForContext(context));
assertTrue(renameAction.isEnabledForContext(context));
assertTrue(renameAction.isEnabledForContext(context));
assertTrue(selectionAction.isEnabledForContext(context));
@ -866,8 +849,8 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest {
}
private void renameSelectedNode() throws Exception {
SwingUtilities.invokeAndWait(
() -> renameAction.actionPerformed(util.getSymbolTreeContext()));
SwingUtilities
.invokeAndWait(() -> renameAction.actionPerformed(util.getSymbolTreeContext()));
waitForEditing();
}