mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 17:05:26 +02:00
Extend launch bar tests and fix up one of the Listener methods.
Change-Id: I920f7c08f30d51cff2a5188f81b85839e7d972e3 Reviewed-on: https://git.eclipse.org/r/33289 Tested-by: Hudson CI Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
This commit is contained in:
parent
63b9ba54f5
commit
d5b3ed1ce7
4 changed files with 51 additions and 6 deletions
|
@ -30,6 +30,7 @@ import org.eclipse.cdt.launchbar.core.ILaunchObjectProvider;
|
|||
import org.eclipse.cdt.launchbar.core.ILaunchTarget;
|
||||
import org.eclipse.cdt.launchbar.core.ILaunchTargetType;
|
||||
import org.eclipse.cdt.launchbar.core.LaunchConfigurationProvider;
|
||||
import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager.Listener;
|
||||
import org.eclipse.core.internal.preferences.EclipsePreferences;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IConfigurationElement;
|
||||
|
@ -507,8 +508,10 @@ public class LaunchBarManagerTest extends TestCase {
|
|||
|
||||
@Test
|
||||
public void testSetActiveDescriptor() throws Exception {
|
||||
TestLaunchBarManager manager = new TestLaunchBarManager();
|
||||
|
||||
final TestLaunchBarManager manager = new TestLaunchBarManager();
|
||||
ILaunchMode runMode = launchManager.getLaunchMode("run");
|
||||
ILaunchMode debugMode = launchManager.getLaunchMode("debug");
|
||||
|
||||
// descriptor for the test descriptor
|
||||
String name = "test1";
|
||||
ILaunchConfigurationType configType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
|
||||
|
@ -520,6 +523,33 @@ public class LaunchBarManagerTest extends TestCase {
|
|||
ILaunchDescriptor test1 = manager.getLaunchDescriptor(testObject1);
|
||||
assertNotNull(test1);
|
||||
|
||||
final ILaunchMode[] testActiveMode = new ILaunchMode[1];
|
||||
final ILaunchDescriptor[] testActiveDesc = new ILaunchDescriptor[1];
|
||||
Listener listener = new Listener() {
|
||||
@Override
|
||||
public void launchTargetsChanged() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void launchDescriptorRemoved(ILaunchDescriptor descriptor) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void activeLaunchTargetChanged() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void activeLaunchModeChanged() {
|
||||
testActiveMode[0] = manager.getActiveLaunchMode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void activeLaunchDescriptorChanged() {
|
||||
testActiveDesc[0] = manager.getActiveLaunchDescriptor();
|
||||
}
|
||||
};
|
||||
manager.addListener(listener);
|
||||
|
||||
// descriptor for the default descriptor
|
||||
ILaunchConfigurationType defaultConfigType = mockLaunchConfigurationType("configType.default");
|
||||
ILaunchConfiguration config = mockLaunchConfiguration("test2", defaultConfigType);
|
||||
|
@ -527,20 +557,35 @@ public class LaunchBarManagerTest extends TestCase {
|
|||
ILaunchDescriptor test2 = manager.getLaunchDescriptor(config);
|
||||
assertNotNull(test2);
|
||||
assertNotSame(test1, test2);
|
||||
manager.setActiveLaunchMode(runMode);
|
||||
|
||||
// test2 should be active by default since it was created last
|
||||
assertEquals(test2, manager.getActiveLaunchDescriptor());
|
||||
assertEquals(test2, testActiveDesc[0]);
|
||||
assertEquals(config, manager.getActiveLaunchConfiguration());
|
||||
assertEquals(runMode, manager.getActiveLaunchMode());
|
||||
assertEquals(runMode, testActiveMode[0]);
|
||||
|
||||
// flip to test1
|
||||
testActiveMode[0] = null;
|
||||
testActiveDesc[0] = null;
|
||||
manager.setActiveLaunchDescriptor(test1);
|
||||
manager.setActiveLaunchMode(debugMode);
|
||||
assertEquals(test1, manager.getActiveLaunchDescriptor());
|
||||
assertEquals(test1, testActiveDesc[0]);
|
||||
assertEquals(wc, manager.getActiveLaunchConfiguration());
|
||||
assertEquals(debugMode, manager.getActiveLaunchMode());
|
||||
assertEquals(debugMode, testActiveMode[0]);
|
||||
|
||||
// and back to test2
|
||||
testActiveMode[0] = null;
|
||||
testActiveDesc[0] = null;
|
||||
manager.setActiveLaunchDescriptor(test2);
|
||||
assertEquals(test2, manager.getActiveLaunchDescriptor());
|
||||
assertEquals(test2, testActiveDesc[0]);
|
||||
assertEquals(config, manager.getActiveLaunchConfiguration());
|
||||
assertEquals(runMode, manager.getActiveLaunchMode());
|
||||
assertEquals(runMode, testActiveMode[0]);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -54,7 +54,7 @@ public class LaunchBarManager implements ILaunchBarManager, ILaunchConfiguration
|
|||
|
||||
// TODO make these more fine grained or break them into more focused listeners
|
||||
public interface Listener {
|
||||
void activeConfigurationDescriptorChanged();
|
||||
void activeLaunchDescriptorChanged();
|
||||
void activeLaunchModeChanged();
|
||||
void activeLaunchTargetChanged();
|
||||
void launchDescriptorRemoved(ILaunchDescriptor descriptor);
|
||||
|
@ -711,7 +711,7 @@ public class LaunchBarManager implements ILaunchBarManager, ILaunchConfiguration
|
|||
public void updateLaunchDescriptor(ILaunchDescriptor configDesc) {
|
||||
for (Listener listener : listeners) {
|
||||
try {
|
||||
listener.activeConfigurationDescriptorChanged();
|
||||
listener.activeLaunchDescriptorChanged();
|
||||
} catch (Exception e) {
|
||||
Activator.log(e);
|
||||
}
|
||||
|
|
|
@ -110,7 +110,7 @@ public class LaunchBarControl implements Listener {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void activeConfigurationDescriptorChanged() {
|
||||
public void activeLaunchDescriptorChanged() {
|
||||
if (configSelector != null && !configSelector.isDisposed()) {
|
||||
final ILaunchDescriptor configDesc = manager.getActiveLaunchDescriptor();
|
||||
configSelector.getDisplay().asyncExec(new Runnable() {
|
||||
|
|
|
@ -41,7 +41,7 @@ public class LaunchTargetsNavigator extends CommonNavigator {
|
|||
public void activeLaunchModeChanged() {
|
||||
}
|
||||
@Override
|
||||
public void activeConfigurationDescriptorChanged() {
|
||||
public void activeLaunchDescriptorChanged() {
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue