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() {
PluginTool newTool = createDefaultTool();
newTool.setToolName(newTool.getToolName() + toolID++);
AbstractGenericTest.runSwing(() -> newTool.setToolName(newTool.getToolName() + toolID++));
extraTools.add(newTool);
return newTool;

View file

@ -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();

View file

@ -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)));
}
}

View file

@ -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> {

View file

@ -163,10 +163,13 @@ class DockableToolBarManager {
void dispose() {
// 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