blob: 6220235fa229bbb1b917af0e34f501981c2fcf12 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.debug.tests.launching;
import org.eclipse.core.resources.IContainer;
import org.eclipse.debug.internal.core.LaunchConfiguration;
import org.eclipse.jdt.debug.tests.AbstractDebugTest;
/**
* Class for testing method from the class {@link LaunchConfiguration}
* @since 3.7
*/
public class LaunchConfigurationTests extends AbstractDebugTest {
/**
* A configuration for testing
*/
class TestConfiguration extends LaunchConfiguration {
/**
* Constructor
* @param name
* @param container
*/
protected TestConfiguration(String name, IContainer container) {
super(name, container);
}
public String getSimpleNameProxy(String fileName) {
return getSimpleName(fileName);
}
public void setNameProxy(String name) {
setName(name);
}
public String getFileNameProxy() {
return getFileName();
}
}
TestConfiguration config = new TestConfiguration("Test", null);
/**
* Constructor
* @param name
*/
public LaunchConfigurationTests(String name) {
super(name);
}
/**
* Tests the {@link LaunchConfiguration#getSimpleName} method
*
* @throws Exception
* @see https://bugs.eclipse.org/bugs/show_bug.cgi?id=332410
*/
public void testGetSimpleName() throws Exception {
//filenames with the ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION as an extension
String name = config.getSimpleNameProxy("launch.launch");
assertEquals("Did not get expected name: 'launch'", "launch", name);
name = config.getSimpleNameProxy("launch.foo.launch");
assertEquals("Did not get expected name: 'launch.foo'", "launch.foo", name);
name = config.getSimpleNameProxy("launch.foo.bar.launch");
assertEquals("Did not get expected name: 'launch.foo.bar'", "launch.foo.bar", name);
//filenames without the ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION extension
name = config.getSimpleNameProxy("launch");
assertEquals("Did not get expected name: 'launch'", "launch", name);
name = config.getSimpleNameProxy("launch.foo");
assertEquals("Did not get expected name: 'launch.foo'", "launch.foo", name);
name = config.getSimpleNameProxy("launch.foo.bar");
assertEquals("Did not get expected name: 'launch.foo.bar'", "launch.foo.bar", name);
}
/**
* Tests the {@link LaunchConfiguration#setName} method
*
* @throws Exception
*/
public void testSetName() throws Exception {
assertEquals("The default name should be: 'Test'", "Test", config.getName());
config.setNameProxy("newname");
assertEquals("The new name should be: 'newname'", "newname", config.getName());
//reset the name
config.setNameProxy("Test");
}
/**
* Tests the {@link LaunchConfiguration#getFileName} method
*
* @throws Exception
*/
public void testGetFileName() throws Exception {
String filename = config.getFileNameProxy();
assertEquals("The filename should be: 'Test.launch'", "Test.launch", filename);
config.setNameProxy("launch");
filename = config.getFileNameProxy();
assertEquals("The filename should be: 'launch.launch'", "launch.launch", filename);
config.setNameProxy("launch.foo");
filename = config.getFileNameProxy();
assertEquals("The filename should be: 'launch.foo.launch'", "launch.foo.launch", filename);
//reset the name
config.setNameProxy("Test");
}
}