Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/GP-0-dragonmacher-test-fixes-5-7…
Browse files Browse the repository at this point in the history
…-24'
  • Loading branch information
ryanmkurtz committed May 7, 2024
2 parents 9026139 + 05f8745 commit 2573084
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 54 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
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 {
Expand All @@ -31,7 +32,7 @@ public RenameAction(SymbolTreePlugin plugin) {
@Override
public boolean isEnabledForContext(SymbolTreeActionContext context) {
SymbolTreeNode node = context.getSelectedNode();
return node != null;
return node instanceof SymbolNode;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public void setUp() throws Exception {
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 =
Expand Down Expand Up @@ -118,8 +118,9 @@ private Function addExternalFunctionReference(Address refAddr, String libraryNam
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 {
Expand All @@ -130,8 +131,9 @@ private Function addExternalFunctionReference(Address refAddr, String libraryNam
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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -257,15 +257,15 @@ public void testGlobalSymCategoryActionEnablement() throws Exception {
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
Expand All @@ -281,9 +281,6 @@ public void testPasteActionEnabled() throws Exception {
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);
Expand Down Expand Up @@ -312,10 +309,6 @@ public void testPasteActionEnabled() throws Exception {
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
Expand Down Expand Up @@ -354,7 +347,7 @@ public void testPasteActionEnabled2() throws Exception {

GTreeNode dNode = fNode.getChild(0);
util.selectNode(dNode);
assertTrue(!pasteAction.isEnabledForContext(util.getSymbolTreeContext()));
assertFalse(pasteAction.isEnabledForContext(util.getSymbolTreeContext()));
}

@Test
Expand Down Expand Up @@ -415,35 +408,25 @@ public void testSymCategoryActionEnablement() throws Exception {
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
Expand All @@ -457,8 +440,8 @@ public void testParameterActionEnablement() throws Exception {
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));
Expand All @@ -476,7 +459,7 @@ public void testFunctionActionEnablement() throws Exception {
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));
Expand All @@ -495,7 +478,7 @@ public void testLocalSymbolActionEnablement() throws Exception {
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));
Expand Down Expand Up @@ -866,8 +849,8 @@ private void stopEditing() throws Exception {
}

private void renameSelectedNode() throws Exception {
SwingUtilities.invokeAndWait(
() -> renameAction.actionPerformed(util.getSymbolTreeContext()));
SwingUtilities
.invokeAndWait(() -> renameAction.actionPerformed(util.getSymbolTreeContext()));
waitForEditing();
}

Expand Down

0 comments on commit 2573084

Please sign in to comment.