GT-2971 - Key Bindings - test fixes

This commit is contained in:
dragonmacher 2019-07-19 12:44:45 -04:00
parent 380d863c96
commit ad4ac0413d
5 changed files with 24 additions and 23 deletions

View file

@ -603,7 +603,7 @@ public class TestEnv {
*/ */
public PluginTool launchAnotherDefaultTool() { public PluginTool launchAnotherDefaultTool() {
PluginTool newTool = createDefaultTool(); PluginTool newTool = createDefaultTool();
newTool.setToolName(newTool.getToolName() + toolID++); AbstractGenericTest.runSwing(() -> newTool.setToolName(newTool.getToolName() + toolID++));
extraTools.add(newTool); extraTools.add(newTool);
return newTool; return newTool;

View file

@ -48,14 +48,11 @@ import ghidra.program.util.AddressFieldLocation;
import ghidra.program.util.ProgramSelection; import ghidra.program.util.ProgramSelection;
import ghidra.test.AbstractProgramBasedTest; import ghidra.test.AbstractProgramBasedTest;
import ghidra.test.ToyProgramBuilder; 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 { public class CopyPasteCommentsTest extends AbstractProgramBasedTest {
private PluginTool toolOne; private PluginTool toolOne;
@ -112,16 +109,13 @@ public class CopyPasteCommentsTest extends AbstractProgramBasedTest {
DomainFolder rootFolder = env.getProject().getProjectData().getRootFolder(); DomainFolder rootFolder = env.getProject().getProjectData().getRootFolder();
Program sdk = program; Program sdk = program;
final DomainFile df = rootFolder.createFile("sdk1", sdk, TaskMonitorAdapter.DUMMY_MONITOR); final DomainFile df = rootFolder.createFile("sdk1", sdk, TaskMonitor.DUMMY);
programOne = programOne = (ProgramDB) df.getDomainObject(this, true, false, TaskMonitor.DUMMY);
(ProgramDB) df.getDomainObject(this, true, false, TaskMonitorAdapter.DUMMY_MONITOR);
env.release(sdk); env.release(sdk);
Program sdk2 = buildProgram("sdk2"); Program sdk2 = buildProgram("sdk2");
final DomainFile df2 = final DomainFile df2 = rootFolder.createFile("sdk2", sdk2, TaskMonitor.DUMMY);
rootFolder.createFile("sdk2", sdk2, TaskMonitorAdapter.DUMMY_MONITOR); programTwo = (ProgramDB) df2.getDomainObject(this, true, false, TaskMonitor.DUMMY);
programTwo =
(ProgramDB) df2.getDomainObject(this, true, false, TaskMonitorAdapter.DUMMY_MONITOR);
env.release(sdk2); env.release(sdk2);
setupProgramOne(); setupProgramOne();

View file

@ -98,12 +98,13 @@ public class MemoryMapPluginTest extends AbstractGhidraHeadedIntegrationTest {
env.open(program); env.open(program);
Set<DockingActionIf> actions = getActionsByOwner(tool, plugin.getName()); Set<DockingActionIf> actions = getActionsByOwner(tool, plugin.getName());
for (DockingActionIf action : actions) { for (DockingActionIf action : actions) {
if (action.getName().equals("Add Block") || action.getName().equals("Set Image Base") || String name = action.getName();
action.getName().equals("Memory Map")) { if (name.equals("Add Block") || name.equals("Set Image Base") ||
name.equals("Memory Map") || name.equals("Close Window")) {
assertTrue(action.isEnabledForContext(provider.getActionContext(null))); assertTrue(action.isEnabledForContext(provider.getActionContext(null)));
} }
else { 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()); assertEquals(0, table.getModel().getRowCount());
Set<DockingActionIf> actions = getActionsByOwner(tool, plugin.getName()); Set<DockingActionIf> actions = getActionsByOwner(tool, plugin.getName());
for (DockingActionIf action : actions) { for (DockingActionIf action : actions) {
if (!action.getName().equals("Memory Map")) { String name = action.getName();
assertTrue(!action.isEnabledForContext(provider.getActionContext(null))); if (name.equals("Memory Map") || name.equals("Close Window")) {
continue;
} }
assertFalse(action.isEnabledForContext(provider.getActionContext(null)));
} }
} }

View file

@ -36,7 +36,7 @@ public class FunctionGraphCacheTest extends AbstractFunctionGraphTest {
private List<Address> disposedFunctionData = Collections.synchronizedList(new ArrayList<>()); private List<Address> disposedFunctionData = Collections.synchronizedList(new ArrayList<>());
private List<Address> evictedFromCache = 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. // on the two methods that might dispose a FunctionGrahpData object.
public class FakeFunctionGraphController extends MockUp<FGController> { public class FakeFunctionGraphController extends MockUp<FGController> {

View file

@ -163,10 +163,13 @@ class DockableToolBarManager {
void dispose() { void dispose() {
DockingWindowManager dwm = dockableComponent.getDockingWindowManager(); // this will be null for non-standard use cases
DockingTool tool = dwm.getTool(); if (dockableComponent != null) {
ComponentProvider provider = dockableComponent.getComponentProvider(); DockingWindowManager dwm = dockableComponent.getDockingWindowManager();
tool.removeLocalAction(provider, closeButtonManager.getAction()); DockingTool tool = dwm.getTool();
ComponentProvider provider = dockableComponent.getComponentProvider();
tool.removeLocalAction(provider, closeButtonManager.getAction());
}
headerUpdater.dispose(); headerUpdater.dispose();
menuManager.dispose(); menuManager.dispose();
@ -186,6 +189,7 @@ class DockableToolBarManager {
super("Close Window", owner, KeyBindingType.SHARED); super("Close Window", owner, KeyBindingType.SHARED);
setDescription("Close Window"); setDescription("Close Window");
setToolBarData(new ToolBarData(CLOSE_ICON, null)); setToolBarData(new ToolBarData(CLOSE_ICON, null));
markHelpUnnecessary();
} }
@Override @Override