mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 18:29:37 +02:00
GT-2971 - Key Bindings - test fixes
This commit is contained in:
parent
380d863c96
commit
ad4ac0413d
5 changed files with 24 additions and 23 deletions
|
@ -603,7 +603,7 @@ public class TestEnv {
|
|||
*/
|
||||
public PluginTool launchAnotherDefaultTool() {
|
||||
PluginTool newTool = createDefaultTool();
|
||||
newTool.setToolName(newTool.getToolName() + toolID++);
|
||||
AbstractGenericTest.runSwing(() -> newTool.setToolName(newTool.getToolName() + toolID++));
|
||||
extraTools.add(newTool);
|
||||
return newTool;
|
||||
|
||||
|
|
|
@ -48,14 +48,11 @@ import ghidra.program.util.AddressFieldLocation;
|
|||
import ghidra.program.util.ProgramSelection;
|
||||
import ghidra.test.AbstractProgramBasedTest;
|
||||
import ghidra.test.ToyProgramBuilder;
|
||||
import ghidra.util.task.TaskMonitorAdapter;
|
||||
import ghidra.util.task.TaskMonitor;
|
||||
|
||||
/**
|
||||
* Test the plugin that deals with cut/paste comments and labels.
|
||||
*
|
||||
*
|
||||
* Test the plugin that deals with cut/paste comments and labels
|
||||
*/
|
||||
|
||||
public class CopyPasteCommentsTest extends AbstractProgramBasedTest {
|
||||
|
||||
private PluginTool toolOne;
|
||||
|
@ -112,16 +109,13 @@ public class CopyPasteCommentsTest extends AbstractProgramBasedTest {
|
|||
DomainFolder rootFolder = env.getProject().getProjectData().getRootFolder();
|
||||
|
||||
Program sdk = program;
|
||||
final DomainFile df = rootFolder.createFile("sdk1", sdk, TaskMonitorAdapter.DUMMY_MONITOR);
|
||||
programOne =
|
||||
(ProgramDB) df.getDomainObject(this, true, false, TaskMonitorAdapter.DUMMY_MONITOR);
|
||||
final DomainFile df = rootFolder.createFile("sdk1", sdk, TaskMonitor.DUMMY);
|
||||
programOne = (ProgramDB) df.getDomainObject(this, true, false, TaskMonitor.DUMMY);
|
||||
env.release(sdk);
|
||||
|
||||
Program sdk2 = buildProgram("sdk2");
|
||||
final DomainFile df2 =
|
||||
rootFolder.createFile("sdk2", sdk2, TaskMonitorAdapter.DUMMY_MONITOR);
|
||||
programTwo =
|
||||
(ProgramDB) df2.getDomainObject(this, true, false, TaskMonitorAdapter.DUMMY_MONITOR);
|
||||
final DomainFile df2 = rootFolder.createFile("sdk2", sdk2, TaskMonitor.DUMMY);
|
||||
programTwo = (ProgramDB) df2.getDomainObject(this, true, false, TaskMonitor.DUMMY);
|
||||
env.release(sdk2);
|
||||
|
||||
setupProgramOne();
|
||||
|
|
|
@ -98,12 +98,13 @@ public class MemoryMapPluginTest extends AbstractGhidraHeadedIntegrationTest {
|
|||
env.open(program);
|
||||
Set<DockingActionIf> actions = getActionsByOwner(tool, plugin.getName());
|
||||
for (DockingActionIf action : actions) {
|
||||
if (action.getName().equals("Add Block") || action.getName().equals("Set Image Base") ||
|
||||
action.getName().equals("Memory Map")) {
|
||||
String name = action.getName();
|
||||
if (name.equals("Add Block") || name.equals("Set Image Base") ||
|
||||
name.equals("Memory Map") || name.equals("Close Window")) {
|
||||
assertTrue(action.isEnabledForContext(provider.getActionContext(null)));
|
||||
}
|
||||
else {
|
||||
assertTrue(!action.isEnabledForContext(provider.getActionContext(null)));
|
||||
assertFalse(action.isEnabledForContext(provider.getActionContext(null)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -116,9 +117,11 @@ public class MemoryMapPluginTest extends AbstractGhidraHeadedIntegrationTest {
|
|||
assertEquals(0, table.getModel().getRowCount());
|
||||
Set<DockingActionIf> actions = getActionsByOwner(tool, plugin.getName());
|
||||
for (DockingActionIf action : actions) {
|
||||
if (!action.getName().equals("Memory Map")) {
|
||||
assertTrue(!action.isEnabledForContext(provider.getActionContext(null)));
|
||||
String name = action.getName();
|
||||
if (name.equals("Memory Map") || name.equals("Close Window")) {
|
||||
continue;
|
||||
}
|
||||
assertFalse(action.isEnabledForContext(provider.getActionContext(null)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ public class FunctionGraphCacheTest extends AbstractFunctionGraphTest {
|
|||
private List<Address> disposedFunctionData = Collections.synchronizedList(new ArrayList<>());
|
||||
private List<Address> evictedFromCache = Collections.synchronizedList(new ArrayList<>());
|
||||
|
||||
// partial fake of DecompilerController to take control of the buildCache() method and spy
|
||||
// partial fake of FGController to take control of the buildCache() method and spy
|
||||
// on the two methods that might dispose a FunctionGrahpData object.
|
||||
public class FakeFunctionGraphController extends MockUp<FGController> {
|
||||
|
||||
|
|
|
@ -163,10 +163,13 @@ class DockableToolBarManager {
|
|||
|
||||
void dispose() {
|
||||
|
||||
DockingWindowManager dwm = dockableComponent.getDockingWindowManager();
|
||||
DockingTool tool = dwm.getTool();
|
||||
ComponentProvider provider = dockableComponent.getComponentProvider();
|
||||
tool.removeLocalAction(provider, closeButtonManager.getAction());
|
||||
// this will be null for non-standard use cases
|
||||
if (dockableComponent != null) {
|
||||
DockingWindowManager dwm = dockableComponent.getDockingWindowManager();
|
||||
DockingTool tool = dwm.getTool();
|
||||
ComponentProvider provider = dockableComponent.getComponentProvider();
|
||||
tool.removeLocalAction(provider, closeButtonManager.getAction());
|
||||
}
|
||||
|
||||
headerUpdater.dispose();
|
||||
menuManager.dispose();
|
||||
|
@ -186,6 +189,7 @@ class DockableToolBarManager {
|
|||
super("Close Window", owner, KeyBindingType.SHARED);
|
||||
setDescription("Close Window");
|
||||
setToolBarData(new ToolBarData(CLOSE_ICON, null));
|
||||
markHelpUnnecessary();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue