1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-27 10:55:33 +02:00

autotools: Modernize o.e.cdt.autotools.tests bundle.

* Use generics.
* Add missing Override annotations
* Migrate to JUnit 4
* Drop non-javadoc comments.

Change-Id: Ic715a7375fb052bdbc4385f0528d40197060eda3
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
This commit is contained in:
Alexander Kurtakov 2015-10-08 14:12:47 +03:00
parent 4d5e9569e6
commit 20ff8a3cbc
22 changed files with 528 additions and 357 deletions

View file

@ -1,11 +1,101 @@
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=warning
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.7 org.eclipse.jdt.core.compiler.source=1.7

View file

@ -1,3 +1,61 @@
#Mon Dec 11 11:40:26 EST 2006
eclipse.preferences.version=1 eclipse.preferences.version=1
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
internal.default.compliance=default internal.default.compliance=default
sp_cleanup.add_default_serial_version_id=true
sp_cleanup.add_generated_serial_version_id=false
sp_cleanup.add_missing_annotations=true
sp_cleanup.add_missing_deprecated_annotations=true
sp_cleanup.add_missing_methods=false
sp_cleanup.add_missing_nls_tags=false
sp_cleanup.add_missing_override_annotations=true
sp_cleanup.add_missing_override_annotations_interface_methods=true
sp_cleanup.add_serial_version_id=false
sp_cleanup.always_use_blocks=true
sp_cleanup.always_use_parentheses_in_expressions=false
sp_cleanup.always_use_this_for_non_static_field_access=false
sp_cleanup.always_use_this_for_non_static_method_access=false
sp_cleanup.convert_functional_interfaces=false
sp_cleanup.convert_to_enhanced_for_loop=false
sp_cleanup.correct_indentation=false
sp_cleanup.format_source_code=false
sp_cleanup.format_source_code_changes_only=false
sp_cleanup.insert_inferred_type_arguments=false
sp_cleanup.make_local_variable_final=true
sp_cleanup.make_parameters_final=false
sp_cleanup.make_private_fields_final=true
sp_cleanup.make_type_abstract_if_missing_method=false
sp_cleanup.make_variable_declarations_final=false
sp_cleanup.never_use_blocks=false
sp_cleanup.never_use_parentheses_in_expressions=true
sp_cleanup.on_save_use_additional_actions=false
sp_cleanup.organize_imports=true
sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
sp_cleanup.remove_private_constructors=true
sp_cleanup.remove_redundant_type_arguments=true
sp_cleanup.remove_trailing_whitespaces=false
sp_cleanup.remove_trailing_whitespaces_all=true
sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
sp_cleanup.remove_unnecessary_casts=true
sp_cleanup.remove_unnecessary_nls_tags=false
sp_cleanup.remove_unused_imports=false
sp_cleanup.remove_unused_local_variables=false
sp_cleanup.remove_unused_private_fields=true
sp_cleanup.remove_unused_private_members=false
sp_cleanup.remove_unused_private_methods=true
sp_cleanup.remove_unused_private_types=true
sp_cleanup.sort_members=false
sp_cleanup.sort_members_all=false
sp_cleanup.use_anonymous_class_creation=false
sp_cleanup.use_blocks=false
sp_cleanup.use_blocks_only_for_return_and_throw=false
sp_cleanup.use_lambda=true
sp_cleanup.use_parentheses_in_expressions=false
sp_cleanup.use_this_for_non_static_field_access=false
sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
sp_cleanup.use_this_for_non_static_method_access=false
sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
sp_cleanup.use_type_arguments=false

View file

@ -12,28 +12,21 @@ package org.eclipse.cdt.autotools.tests;
import org.eclipse.cdt.autotools.tests.autoconf.AutoconfTests; import org.eclipse.cdt.autotools.tests.autoconf.AutoconfTests;
import org.eclipse.cdt.autotools.tests.editors.EditorTests; import org.eclipse.cdt.autotools.tests.editors.EditorTests;
import org.junit.runner.RunWith;
import junit.framework.Test; import org.junit.runners.Suite;
import junit.framework.TestSuite;
/** On Windows requires either Cygwin or MinGW to be in PATH */ /** On Windows requires either Cygwin or MinGW to be in PATH */
@RunWith(Suite.class)
@Suite.SuiteClasses({
AutotoolsProjectTest0.class,
AutotoolsProjectNatureTest.class,
AutotoolsProjectTest1.class,
AutotoolsProjectTest2.class,
AutotoolsVirtualFolderTest.class,
AutotoolsEnvironmentVarTest.class,
UpdateConfigureTest.class,
AutoconfTests.class,
EditorTests.class
})
public class AllAutotoolsTests { public class AllAutotoolsTests {
public static Test suite() {
TestSuite suite = new TestSuite(
"Test for org.eclipse.cdt.autotools.core.tests");
//$JUnit-BEGIN$
suite.addTestSuite(AutotoolsProjectTest0.class);
suite.addTestSuite(AutotoolsProjectNatureTest.class);
suite.addTestSuite(AutotoolsProjectTest1.class);
suite.addTestSuite(AutotoolsProjectTest2.class);
suite.addTestSuite(AutotoolsVirtualFolderTest.class);
suite.addTestSuite(AutotoolsEnvironmentVarTest.class);
suite.addTestSuite(UpdateConfigureTest.class);
suite.addTest(AutoconfTests.suite());
suite.addTest(EditorTests.suite());
//$JUnit-END$
return suite;
}
} }

View file

@ -10,6 +10,11 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests; package org.eclipse.cdt.autotools.tests;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -22,15 +27,16 @@ import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Path;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import junit.framework.TestCase; public class AutotoolsEnvironmentVarTest {
public class AutotoolsEnvironmentVarTest extends TestCase {
private IProject testProject; private IProject testProject;
protected void setUp() throws Exception { @Before
super.setUp(); public void setUp() throws Exception {
if (!ProjectTools.setup()) if (!ProjectTools.setup())
fail("could not perform basic project workspace setup"); fail("could not perform basic project workspace setup");
testProject = ProjectTools.createProject("testProject0"); testProject = ProjectTools.createProject("testProject0");
@ -47,6 +53,7 @@ public class AutotoolsEnvironmentVarTest extends TestCase {
* *
* @throws Exception * @throws Exception
*/ */
@Test
public void testAutotoolsEnvironmentVar() throws Exception { public void testAutotoolsEnvironmentVar() throws Exception {
Path p = new Path("zip/project1.zip"); Path p = new Path("zip/project1.zip");
@ -66,7 +73,8 @@ public class AutotoolsEnvironmentVarTest extends TestCase {
assertEquals("1", verboseEnvironmentVariable.getValue()); assertEquals("1", verboseEnvironmentVariable.getValue());
} }
protected void tearDown() throws Exception { @After
public void tearDown() throws Exception {
testProject.refreshLocal(IResource.DEPTH_INFINITE, null); testProject.refreshLocal(IResource.DEPTH_INFINITE, null);
try { try {
testProject.delete(true, true, null); testProject.delete(true, true, null);
@ -74,7 +82,6 @@ public class AutotoolsEnvironmentVarTest extends TestCase {
// FIXME: Why does a ResourceException occur when deleting the // FIXME: Why does a ResourceException occur when deleting the
// project?? // project??
} }
super.tearDown();
} }
} }

View file

@ -10,22 +10,21 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests; package org.eclipse.cdt.autotools.tests;
import junit.framework.TestCase; import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.eclipse.core.resources.IProject;
import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature; import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature;
import org.eclipse.core.resources.IProject;
import org.junit.Before;
import org.junit.Test;
public class AutotoolsProjectNatureTest extends TestCase { public class AutotoolsProjectNatureTest {
@Before
/* public void setUp() throws Exception {
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
if (!ProjectTools.setup()) if (!ProjectTools.setup())
fail("could not perform basic project workspace setup"); fail("could not perform basic project workspace setup");
} }
@Test
public void testAutotoolsProjectNature() throws Exception { public void testAutotoolsProjectNature() throws Exception {
IProject testProject = ProjectTools.createProject("testProject"); IProject testProject = ProjectTools.createProject("testProject");
if(testProject == null) { if(testProject == null) {

View file

@ -11,7 +11,8 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests; package org.eclipse.cdt.autotools.tests;
import junit.framework.TestCase; import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature; import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
@ -19,16 +20,15 @@ import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Platform;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class AutotoolsProjectTest0 extends TestCase { public class AutotoolsProjectTest0 {
private IProject testProject; private IProject testProject;
@Before
/* public void setUp() throws Exception {
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
if (!ProjectTools.setup()) if (!ProjectTools.setup())
fail("could not perform basic project workspace setup"); fail("could not perform basic project workspace setup");
testProject = ProjectTools.createProject("testProject0"); testProject = ProjectTools.createProject("testProject0");
@ -44,6 +44,7 @@ public class AutotoolsProjectTest0 extends TestCase {
* is found in sample/hello.c. * is found in sample/hello.c.
* @throws Exception * @throws Exception
*/ */
@Test
public void testAutotoolsProject0() throws Exception { public void testAutotoolsProject0() throws Exception {
Path p = new Path("zip/project1.zip"); Path p = new Path("zip/project1.zip");
ProjectTools.addSourceContainerWithImport(testProject, null, p, null, true); ProjectTools.addSourceContainerWithImport(testProject, null, p, null, true);
@ -68,14 +69,13 @@ public class AutotoolsProjectTest0 extends TestCase {
x = new org.eclipse.core.runtime.Path("sample/Makefile"); x = new org.eclipse.core.runtime.Path("sample/Makefile");
assertTrue(testProject.exists(x)); assertTrue(testProject.exists(x));
} }
@After
protected void tearDown() throws Exception { public void tearDown() throws Exception {
testProject.refreshLocal(IResource.DEPTH_INFINITE, null); testProject.refreshLocal(IResource.DEPTH_INFINITE, null);
try { try {
testProject.delete(true, true, null); testProject.delete(true, true, null);
} catch (Exception e) { } catch (Exception e) {
//FIXME: Why does a ResourceException occur when deleting the project?? //FIXME: Why does a ResourceException occur when deleting the project??
} }
super.tearDown();
} }
} }

View file

@ -11,7 +11,8 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests; package org.eclipse.cdt.autotools.tests;
import junit.framework.TestCase; import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature; import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
@ -19,16 +20,15 @@ import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Platform;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class AutotoolsProjectTest1 extends TestCase { public class AutotoolsProjectTest1 {
private IProject testProject; private IProject testProject;
@Before
/* public void setUp() throws Exception {
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
if (!ProjectTools.setup()) if (!ProjectTools.setup())
fail("could not perform basic project workspace setup"); fail("could not perform basic project workspace setup");
testProject = ProjectTools.createProject("testProject1"); testProject = ProjectTools.createProject("testProject1");
@ -46,6 +46,7 @@ public class AutotoolsProjectTest1 extends TestCase {
* Makefiles. * Makefiles.
* @throws Exception * @throws Exception
*/ */
@Test
public void testAutotoolsProject1() throws Exception { public void testAutotoolsProject1() throws Exception {
Path p = new Path("zip/project1.zip"); Path p = new Path("zip/project1.zip");
ProjectTools.addSourceContainerWithImport(testProject, "src", p, null, true); ProjectTools.addSourceContainerWithImport(testProject, "src", p, null, true);
@ -71,14 +72,13 @@ public class AutotoolsProjectTest1 extends TestCase {
x = new org.eclipse.core.runtime.Path("sample/Makefile"); x = new org.eclipse.core.runtime.Path("sample/Makefile");
assertTrue(testProject.exists(x)); assertTrue(testProject.exists(x));
} }
@After
protected void tearDown() throws Exception { public void tearDown() throws Exception {
testProject.refreshLocal(IResource.DEPTH_INFINITE, null); testProject.refreshLocal(IResource.DEPTH_INFINITE, null);
try { try {
testProject.delete(true, true, null); testProject.delete(true, true, null);
} catch (Exception e) { } catch (Exception e) {
//FIXME: Why does a ResourceException occur when deleting the project?? //FIXME: Why does a ResourceException occur when deleting the project??
} }
super.tearDown();
} }
} }

View file

@ -11,7 +11,9 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests; package org.eclipse.cdt.autotools.tests;
import junit.framework.TestCase; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature; import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
@ -19,18 +21,17 @@ import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Platform;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
// This test verifies an autogen.sh project that builds configure, but // This test verifies an autogen.sh project that builds configure, but
// does not run it. // does not run it.
public class AutotoolsProjectTest2 extends TestCase { public class AutotoolsProjectTest2 {
private IProject testProject; private IProject testProject;
@Before
/* public void setUp() throws Exception {
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
if (!ProjectTools.setup()) if (!ProjectTools.setup())
fail("could not perform basic project workspace setup"); fail("could not perform basic project workspace setup");
testProject = ProjectTools.createProject("testProject2"); testProject = ProjectTools.createProject("testProject2");
@ -48,6 +49,7 @@ public class AutotoolsProjectTest2 extends TestCase {
* Makefiles. * Makefiles.
* @throws Exception * @throws Exception
*/ */
@Test
public void testAutotoolsProject2() throws Exception { public void testAutotoolsProject2() throws Exception {
Path p = new Path("zip/project2.zip"); Path p = new Path("zip/project2.zip");
ProjectTools.addSourceContainerWithImport(testProject, "src", p, null); ProjectTools.addSourceContainerWithImport(testProject, "src", p, null);
@ -84,15 +86,14 @@ public class AutotoolsProjectTest2 extends TestCase {
x = new org.eclipse.core.runtime.Path("sample/Makefile"); x = new org.eclipse.core.runtime.Path("sample/Makefile");
assertTrue(testProject.exists(x)); assertTrue(testProject.exists(x));
} }
@After
protected void tearDown() throws Exception { public void tearDown() throws Exception {
testProject.refreshLocal(IResource.DEPTH_INFINITE, null); testProject.refreshLocal(IResource.DEPTH_INFINITE, null);
try { try {
testProject.delete(true, true, null); testProject.delete(true, true, null);
} catch (Exception e) { } catch (Exception e) {
//FIXME: Why does a ResourceException occur when deleting the project?? //FIXME: Why does a ResourceException occur when deleting the project??
} }
super.tearDown();
} }
} }

View file

@ -32,19 +32,13 @@ public class AutotoolsTestsPlugin extends AbstractUIPlugin {
} }
} }
/* @Override
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception { public void start(BundleContext context) throws Exception {
super.start(context); super.start(context);
plugin = this; plugin = this;
} }
/* @Override
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext context) throws Exception { public void stop(BundleContext context) throws Exception {
plugin = null; plugin = null;
super.stop(context); super.stop(context);

View file

@ -11,9 +11,11 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests; package org.eclipse.cdt.autotools.tests;
import java.io.File; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import junit.framework.TestCase; import java.io.File;
import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature; import org.eclipse.cdt.autotools.core.AutotoolsNewProjectNature;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
@ -24,17 +26,17 @@ import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.URIUtil; import org.eclipse.core.runtime.URIUtil;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
// This test verifies using Autotools with a linked folder. // This test verifies using Autotools with a linked folder.
public class AutotoolsVirtualFolderTest extends TestCase { public class AutotoolsVirtualFolderTest {
private IProject testProject; private IProject testProject;
/* @Before
* @see TestCase#setUp() public void setUp() throws Exception {
*/
protected void setUp() throws Exception {
super.setUp();
if (!ProjectTools.setup()) if (!ProjectTools.setup())
fail("could not perform basic project workspace setup"); fail("could not perform basic project workspace setup");
testProject = ProjectTools.createProject("testProjectVirtualFolder"); testProject = ProjectTools.createProject("testProjectVirtualFolder");
@ -49,6 +51,7 @@ public class AutotoolsVirtualFolderTest extends TestCase {
* Tests Bug 434275 - Autotools configuration in subfolder not found * Tests Bug 434275 - Autotools configuration in subfolder not found
* @throws Exception * @throws Exception
*/ */
@Test
public void testAutotoolsVirtualFolder() throws Exception { public void testAutotoolsVirtualFolder() throws Exception {
Path p = new Path("zip/project2.zip"); Path p = new Path("zip/project2.zip");
IWorkspaceRoot root = ProjectTools.getWorkspaceRoot(); IWorkspaceRoot root = ProjectTools.getWorkspaceRoot();
@ -83,14 +86,14 @@ public class AutotoolsVirtualFolderTest extends TestCase {
return testProject.exists(new Path(path)); return testProject.exists(new Path(path));
} }
protected void tearDown() throws Exception { @After
public void tearDown() throws Exception {
testProject.refreshLocal(IResource.DEPTH_INFINITE, null); testProject.refreshLocal(IResource.DEPTH_INFINITE, null);
try { try {
testProject.delete(true, true, null); testProject.delete(true, true, null);
} catch (Exception e) { } catch (Exception e) {
//FIXME: Why does a ResourceException occur when deleting the project?? //FIXME: Why does a ResourceException occur when deleting the project??
} }
super.tearDown();
} }
} }

View file

@ -59,6 +59,7 @@ public class CoreUtility {
final Object[] ret = new Object[1]; final Object[] ret = new Object[1];
final CoreException[] exc = new CoreException[1]; final CoreException[] exc = new CoreException[1];
BusyIndicator.showWhile(null, new Runnable() { BusyIndicator.showWhile(null, new Runnable() {
@Override
public void run() { public void run() {
try { try {
ret[0] = element.createExecutableExtension(classAttribute); ret[0] = element.createExecutableExtension(classAttribute);

View file

@ -177,10 +177,12 @@ public class ProjectTools {
// initialize some things. The performApply() call is only needed // initialize some things. The performApply() call is only needed
// to check out referenced projects. In our test scenario, this is // to check out referenced projects. In our test scenario, this is
// not required. // not required.
@Override
public void applyOptions(IProject project, IProgressMonitor monitor) { public void applyOptions(IProject project, IProgressMonitor monitor) {
setCurrentProject(project); setCurrentProject(project);
} }
@Override
public IConfiguration[] getSelectedConfigurations() { public IConfiguration[] getSelectedConfigurations() {
IProjectType projectType = ManagedBuildManager.getExtensionProjectType("org.eclipse.linuxtools.cdt.autotools.core.projectType"); //$NON-NLS-1$ IProjectType projectType = ManagedBuildManager.getExtensionProjectType("org.eclipse.linuxtools.cdt.autotools.core.projectType"); //$NON-NLS-1$
IConfiguration[] cfgs = projectType.getConfigurations(); IConfiguration[] cfgs = projectType.getConfigurations();

View file

@ -11,6 +11,11 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests; package org.eclipse.cdt.autotools.tests;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.io.File; import java.io.File;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
@ -20,8 +25,6 @@ import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.ParserConfigurationException;
import junit.framework.TestCase;
import org.eclipse.cdt.autotools.core.AutotoolsOptionConstants; import org.eclipse.cdt.autotools.core.AutotoolsOptionConstants;
import org.eclipse.cdt.autotools.core.AutotoolsPlugin; import org.eclipse.cdt.autotools.core.AutotoolsPlugin;
import org.eclipse.cdt.autotools.core.IAutotoolsOption; import org.eclipse.cdt.autotools.core.IAutotoolsOption;
@ -35,6 +38,9 @@ import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Path;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.Element; import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap; import org.w3c.dom.NamedNodeMap;
@ -44,15 +50,11 @@ import org.xml.sax.SAXException;
// This test verifies an autogen.sh project that builds configure, but // This test verifies an autogen.sh project that builds configure, but
// does not run it. // does not run it.
public class UpdateConfigureTest extends TestCase { public class UpdateConfigureTest {
private IProject testProject; private IProject testProject;
@Before
/* public void setUp() throws Exception {
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
if (!ProjectTools.setup()) if (!ProjectTools.setup())
fail("could not perform basic project workspace setup"); fail("could not perform basic project workspace setup");
testProject = ProjectTools.createProject("testProject2"); testProject = ProjectTools.createProject("testProject2");
@ -67,6 +69,7 @@ public class UpdateConfigureTest extends TestCase {
* the configure script sets both the C and C++ flags. * the configure script sets both the C and C++ flags.
* @throws Exception * @throws Exception
*/ */
@Test
public void testGprofGcovDebugFlagOptions() throws Exception { public void testGprofGcovDebugFlagOptions() throws Exception {
Path p = new Path("zip/project2.zip"); Path p = new Path("zip/project2.zip");
ProjectTools.addSourceContainerWithImport(testProject, "src", p, null); ProjectTools.addSourceContainerWithImport(testProject, "src", p, null);
@ -162,6 +165,7 @@ public class UpdateConfigureTest extends TestCase {
* contains autogen.sh which will build configure, but not run it. * contains autogen.sh which will build configure, but not run it.
* @throws Exception * @throws Exception
*/ */
@Test
public void testGetAndUpdateConfigureOptions() throws Exception { public void testGetAndUpdateConfigureOptions() throws Exception {
Path p = new Path("zip/project2.zip"); Path p = new Path("zip/project2.zip");
ProjectTools.addSourceContainerWithImport(testProject, "src", p, null); ProjectTools.addSourceContainerWithImport(testProject, "src", p, null);
@ -566,14 +570,14 @@ public class UpdateConfigureTest extends TestCase {
} }
protected void tearDown() throws Exception { @After
public void tearDown() throws Exception {
testProject.refreshLocal(IResource.DEPTH_INFINITE, null); testProject.refreshLocal(IResource.DEPTH_INFINITE, null);
try { try {
testProject.delete(true, true, null); testProject.delete(true, true, null);
} catch (Exception e) { } catch (Exception e) {
//FIXME: Why does a ResourceException occur when deleting the project?? //FIXME: Why does a ResourceException occur when deleting the project??
} }
super.tearDown();
} }
} }

View file

@ -10,20 +10,15 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests.autoconf; package org.eclipse.cdt.autotools.tests.autoconf;
import junit.framework.Test; import org.junit.runner.RunWith;
import junit.framework.TestSuite; import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestMacroParser.class,
TestTokenizer.class,
TestShellParser.class
})
public class AutoconfTests { public class AutoconfTests {
public static Test suite() {
TestSuite suite = new TestSuite(
"Test for org.eclipse.cdt.autotools.core.tests.autoconf");
//$JUnit-BEGIN$
suite.addTestSuite(TestMacroParser.class);
suite.addTestSuite(TestTokenizer.class);
suite.addTestSuite(TestShellParser.class);
//$JUnit-END$
return suite;
}
} }

View file

@ -10,14 +10,17 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests.autoconf; package org.eclipse.cdt.autotools.tests.autoconf;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import junit.framework.TestCase;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfElement; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfElement;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfMacroDetector; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfMacroDetector;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfMacroElement; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfMacroElement;
@ -27,27 +30,25 @@ import org.eclipse.cdt.autotools.ui.editors.parser.IAutoconfMacroValidator;
import org.eclipse.cdt.autotools.ui.editors.parser.ParseException; import org.eclipse.cdt.autotools.ui.editors.parser.ParseException;
import org.eclipse.jface.text.Document; import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IDocument;
import org.junit.Before;
public abstract class BaseParserTest extends TestCase { public abstract class BaseParserTest {
private IAutoconfErrorHandler errorHandler; private IAutoconfErrorHandler errorHandler;
protected List errors; protected List<ParseException> errors;
private IAutoconfMacroValidator macroValidator; private IAutoconfMacroValidator macroValidator;
private Set macroNames; private Set<String> macroNames;
private AutoconfMacroDetector macroDetector; private AutoconfMacroDetector macroDetector;
public BaseParserTest() { public BaseParserTest() {
super(); super();
} }
public BaseParserTest(String name) { @Before
super(name); public void setUp() throws Exception {
} errors = new ArrayList<>();
protected void setUp() throws Exception {
errors = new ArrayList();
this.errorHandler = new IAutoconfErrorHandler() { this.errorHandler = new IAutoconfErrorHandler() {
@Override
public void handleError(ParseException exception) { public void handleError(ParseException exception) {
assertNotNull(exception); assertNotNull(exception);
errors.add(exception); errors.add(exception);
@ -57,9 +58,9 @@ public abstract class BaseParserTest extends TestCase {
this.macroDetector = new AutoconfMacroDetector(); this.macroDetector = new AutoconfMacroDetector();
macroNames = new HashSet/*<String>*/(); macroNames = new HashSet<>();
this.macroValidator = new IAutoconfMacroValidator() { this.macroValidator = new IAutoconfMacroValidator() {
@Override
public void validateMacroCall(AutoconfMacroElement element) public void validateMacroCall(AutoconfMacroElement element)
throws ParseException { throws ParseException {
assertNotNull(element); assertNotNull(element);
@ -71,9 +72,6 @@ public abstract class BaseParserTest extends TestCase {
}; };
} }
protected void tearDown() throws Exception {
}
protected IDocument createDocument(String text) { protected IDocument createDocument(String text) {
return new Document(text); return new Document(text);
} }
@ -146,8 +144,8 @@ public abstract class BaseParserTest extends TestCase {
} }
protected void checkError(String msgKey) { protected void checkError(String msgKey) {
for (Iterator iter = errors.iterator(); iter.hasNext(); ) { for (Iterator<ParseException> iter = errors.iterator(); iter.hasNext(); ) {
ParseException exc = (ParseException) iter.next(); ParseException exc = iter.next();
if (exc.getMessage().contains(msgKey)) if (exc.getMessage().contains(msgKey))
return; return;
} }
@ -160,8 +158,8 @@ public abstract class BaseParserTest extends TestCase {
protected void checkError(String msgKey, int line) { protected void checkError(String msgKey, int line) {
ParseException possible = null; ParseException possible = null;
int distance = 999; int distance = 999;
for (Iterator iter = errors.iterator(); iter.hasNext(); ) { for (Iterator<ParseException> iter = errors.iterator(); iter.hasNext(); ) {
ParseException exc = (ParseException) iter.next(); ParseException exc = iter.next();
if (exc.getMessage().contains(msgKey)) { if (exc.getMessage().contains(msgKey)) {
int curDistance = Math.abs(exc.getLineNumber() - line); int curDistance = Math.abs(exc.getLineNumber() - line);
if (curDistance < distance) { if (curDistance < distance) {

View file

@ -11,12 +11,16 @@
package org.eclipse.cdt.autotools.tests.autoconf; package org.eclipse.cdt.autotools.tests.autoconf;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.eclipse.cdt.autotools.ui.editors.AutoconfEditorMessages; import org.eclipse.cdt.autotools.ui.editors.AutoconfEditorMessages;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfElement; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfElement;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfIfElement; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfIfElement;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfMacroArgumentElement; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfMacroArgumentElement;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfMacroElement; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfMacroElement;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfParser; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfParser;
import org.junit.Test;
/** /**
@ -26,10 +30,12 @@ import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfParser;
*/ */
public class TestMacroParser extends BaseParserTest { public class TestMacroParser extends BaseParserTest {
@Test
public void testEmpty() throws Exception { public void testEmpty() throws Exception {
parse(""); parse("");
} }
@Test
public void testComments() throws Exception { public void testComments() throws Exception {
// //
String text = String text =
@ -42,6 +48,7 @@ public class TestMacroParser extends BaseParserTest {
assertTreeStructure(root, new String[] {}); assertTreeStructure(root, new String[] {});
} }
@Test
public void testMacroParsing1() throws Exception { public void testMacroParsing1() throws Exception {
// //
String text = String text =
@ -69,6 +76,7 @@ public class TestMacroParser extends BaseParserTest {
assertEqualSource("AC_REQUIRE([AM_SANITY_CHECK])", macro); assertEqualSource("AC_REQUIRE([AM_SANITY_CHECK])", macro);
} }
@Test
public void testMacroParsing2() throws Exception { public void testMacroParsing2() throws Exception {
// //
String text = String text =
@ -98,6 +106,7 @@ public class TestMacroParser extends BaseParserTest {
assertEqualSource("AC_TWO_ARGS(first,second)", macro); assertEqualSource("AC_TWO_ARGS(first,second)", macro);
} }
@Test
public void testMacroParsing3() throws Exception { public void testMacroParsing3() throws Exception {
// //
String text = String text =
@ -125,6 +134,7 @@ public class TestMacroParser extends BaseParserTest {
assertEqualSource("AC_ONE_ARG( [quoted( arg ), second] )", macro); assertEqualSource("AC_ONE_ARG( [quoted( arg ), second] )", macro);
} }
@Test
public void testMacroParsing4() throws Exception { public void testMacroParsing4() throws Exception {
// //
String text = String text =
@ -149,6 +159,7 @@ public class TestMacroParser extends BaseParserTest {
assertEqualSource("[AM_AUTOMAKE_VERSION([1.4-p6])]", macro.getChildren()[1]); assertEqualSource("[AM_AUTOMAKE_VERSION([1.4-p6])]", macro.getChildren()[1]);
} }
@Test
public void testMacroParsing5() throws Exception { public void testMacroParsing5() throws Exception {
// check that complex shell constructs don't throw off the // check that complex shell constructs don't throw off the
// parser, and also that we don't mistake shell tokens in a macro argument // parser, and also that we don't mistake shell tokens in a macro argument
@ -193,6 +204,7 @@ public class TestMacroParser extends BaseParserTest {
} }
@Test
public void testMacroParsing6() throws Exception { public void testMacroParsing6() throws Exception {
// empty arguments // empty arguments
String text = String text =
@ -215,6 +227,7 @@ public class TestMacroParser extends BaseParserTest {
assertEqualSource("", macro.getChildren()[1]); assertEqualSource("", macro.getChildren()[1]);
} }
@Test
public void testWithErrorUnmatchedLeftParen() { public void testWithErrorUnmatchedLeftParen() {
String text = String text =
"AC_BAD_MACRO(\n"; "AC_BAD_MACRO(\n";
@ -224,6 +237,7 @@ public class TestMacroParser extends BaseParserTest {
assertTrue(root.getChildren()[0] instanceof AutoconfMacroElement); assertTrue(root.getChildren()[0] instanceof AutoconfMacroElement);
checkError(AutoconfEditorMessages.getString(AutoconfParser.UNMATCHED_LEFT_PARENTHESIS)); checkError(AutoconfEditorMessages.getString(AutoconfParser.UNMATCHED_LEFT_PARENTHESIS));
} }
@Test
public void testWithErrorUnmatchedRightParen() { public void testWithErrorUnmatchedRightParen() {
String text = String text =
"AC_BAD_MACRO())\n"; "AC_BAD_MACRO())\n";
@ -233,6 +247,7 @@ public class TestMacroParser extends BaseParserTest {
assertTrue(root.getChildren()[0] instanceof AutoconfMacroElement); assertTrue(root.getChildren()[0] instanceof AutoconfMacroElement);
checkError(AutoconfEditorMessages.getString(AutoconfParser.UNMATCHED_RIGHT_PARENTHESIS)); checkError(AutoconfEditorMessages.getString(AutoconfParser.UNMATCHED_RIGHT_PARENTHESIS));
} }
@Test
public void testNoFalseUnmatchedRightParen() { public void testNoFalseUnmatchedRightParen() {
String text = String text =
"AC_BAD_MACRO()\n" + "AC_BAD_MACRO()\n" +
@ -248,6 +263,7 @@ public class TestMacroParser extends BaseParserTest {
assertTrue(root.getChildren()[1] instanceof AutoconfIfElement); assertTrue(root.getChildren()[1] instanceof AutoconfIfElement);
} }
@Test
public void testNestedMacro() { public void testNestedMacro() {
String text = String text =
"AC_1(AC_2())\n"; "AC_1(AC_2())\n";

View file

@ -11,11 +11,15 @@
package org.eclipse.cdt.autotools.tests.autoconf; package org.eclipse.cdt.autotools.tests.autoconf;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.eclipse.cdt.autotools.ui.editors.AutoconfEditorMessages; import org.eclipse.cdt.autotools.ui.editors.AutoconfEditorMessages;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfCaseConditionElement; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfCaseConditionElement;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfCaseElement; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfCaseElement;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfElement; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfElement;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfParser; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfParser;
import org.junit.Test;
/** /**
* @author eswartz * @author eswartz
@ -23,6 +27,7 @@ import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfParser;
*/ */
public class TestShellParser extends BaseParserTest { public class TestShellParser extends BaseParserTest {
@Test
public void testHERE() { public void testHERE() {
String HERE_TEXT = String HERE_TEXT =
"\n"+ "\n"+
@ -38,7 +43,7 @@ public class TestShellParser extends BaseParserTest {
// only see a macro call, not a loop // only see a macro call, not a loop
assertTreeStructure(tree, new String[] { "AM_INIT_AUTOMAKE", "confusion", "$2", "EOF", null }); assertTreeStructure(tree, new String[] { "AM_INIT_AUTOMAKE", "confusion", "$2", "EOF", null });
} }
@Test
public void testHERE2() { public void testHERE2() {
String HERE_TEXT = String HERE_TEXT =
"\n"+ "\n"+
@ -55,7 +60,7 @@ public class TestShellParser extends BaseParserTest {
assertTreeStructure(tree, new String[] { "AM_INIT_AUTOMAKE", "confusion", "$2", "EOF", null }); assertTreeStructure(tree, new String[] { "AM_INIT_AUTOMAKE", "confusion", "$2", "EOF", null });
} }
@Test
public void testIf0() { public void testIf0() {
String text = "# comment\n"+ String text = "# comment\n"+
"\tif true; then\n" + "\tif true; then\n" +
@ -64,7 +69,7 @@ public class TestShellParser extends BaseParserTest {
AutoconfElement tree = parse(text); AutoconfElement tree = parse(text);
assertTreeStructure(tree, new String[] { "if" }); assertTreeStructure(tree, new String[] { "if" });
} }
@Test
public void testIf1() { public void testIf1() {
String text = "# comment\n"+ String text = "# comment\n"+
"\tif true; then\n" + "\tif true; then\n" +
@ -74,7 +79,7 @@ public class TestShellParser extends BaseParserTest {
assertTreeStructure(tree, new String[] { "if", "AC_SOMETHING", "", null, null }); assertTreeStructure(tree, new String[] { "if", "AC_SOMETHING", "", null, null });
} }
@Test
public void testIfElse0() { public void testIfElse0() {
String text = "# comment\n"+ String text = "# comment\n"+
"\tif true; then\n" + "\tif true; then\n" +
@ -85,7 +90,7 @@ public class TestShellParser extends BaseParserTest {
AutoconfElement tree = parse(text); AutoconfElement tree = parse(text);
assertTreeStructure(tree, new String[] { "if", "else", null }); assertTreeStructure(tree, new String[] { "if", "else", null });
} }
@Test
public void testIfElse1() { public void testIfElse1() {
String text = "# comment\n"+ String text = "# comment\n"+
"\tif true; then\n" + "\tif true; then\n" +
@ -114,6 +119,7 @@ public class TestShellParser extends BaseParserTest {
assertEqualSource("AC_ONE(...)", kids[0].getChildren()[0]); assertEqualSource("AC_ONE(...)", kids[0].getChildren()[0]);
assertEqualSource("AC_TWO(AC_THREE())", kids[0].getChildren()[1].getChildren()[0]); assertEqualSource("AC_TWO(AC_THREE())", kids[0].getChildren()[1].getChildren()[0]);
} }
@Test
public void testIf2() { public void testIf2() {
String text = String text =
"if blah\n" + "if blah\n" +
@ -121,7 +127,7 @@ public class TestShellParser extends BaseParserTest {
AutoconfElement tree = parse(text); AutoconfElement tree = parse(text);
assertTreeStructure(tree, new String[] { "if" }); assertTreeStructure(tree, new String[] { "if" });
} }
@Test
public void testIfElif() { public void testIfElif() {
String text = "# comment\n"+ String text = "# comment\n"+
"\tif true; then\n" + "\tif true; then\n" +
@ -142,7 +148,7 @@ public class TestShellParser extends BaseParserTest {
null, null,
null }); null });
} }
@Test
public void testIfErr1() { public void testIfErr1() {
String text = String text =
"if then fi\n"; "if then fi\n";
@ -151,6 +157,7 @@ public class TestShellParser extends BaseParserTest {
checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.INVALID_SPECIFIER, "then")); checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.INVALID_SPECIFIER, "then"));
assertTreeStructure(tree, new String[] { "if" }); assertTreeStructure(tree, new String[] { "if" });
} }
@Test
public void testIfErr2() { public void testIfErr2() {
String text = String text =
"if true; do fi\n"; "if true; do fi\n";
@ -159,6 +166,7 @@ public class TestShellParser extends BaseParserTest {
checkError(AutoconfEditorMessages.getString(AutoconfParser.INVALID_DO)); checkError(AutoconfEditorMessages.getString(AutoconfParser.INVALID_DO));
assertTreeStructure(tree, new String[] { "if" }); assertTreeStructure(tree, new String[] { "if" });
} }
@Test
public void testIfErr3() { public void testIfErr3() {
String text = String text =
"if; else bar; fi\n"; "if; else bar; fi\n";
@ -167,6 +175,7 @@ public class TestShellParser extends BaseParserTest {
checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.MISSING_SPECIFIER, "then")); checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.MISSING_SPECIFIER, "then"));
assertTreeStructure(tree, new String[] { "if", "else", null }); assertTreeStructure(tree, new String[] { "if", "else", null });
} }
@Test
public void testIfErr4() { public void testIfErr4() {
String text = String text =
"if true; then stmt fi\n"; "if true; then stmt fi\n";
@ -175,6 +184,7 @@ public class TestShellParser extends BaseParserTest {
checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.INVALID_TERMINATION, "fi")); checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.INVALID_TERMINATION, "fi"));
assertTreeStructure(tree, new String[] { "if" }); assertTreeStructure(tree, new String[] { "if" });
} }
@Test
public void testIfErr5() { public void testIfErr5() {
String text = String text =
"if true; then\n"; "if true; then\n";
@ -183,6 +193,7 @@ public class TestShellParser extends BaseParserTest {
checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.UNTERMINATED_CONSTRUCT, "if")); checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.UNTERMINATED_CONSTRUCT, "if"));
assertTreeStructure(tree, new String[] { "if" }); assertTreeStructure(tree, new String[] { "if" });
} }
@Test
public void testIfErr6() { public void testIfErr6() {
String text = String text =
"if true; then foo; else\n"; "if true; then foo; else\n";
@ -192,12 +203,14 @@ public class TestShellParser extends BaseParserTest {
checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.UNTERMINATED_CONSTRUCT, "else")); checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.UNTERMINATED_CONSTRUCT, "else"));
assertTreeStructure(tree, new String[] { "if", "else", null }); assertTreeStructure(tree, new String[] { "if", "else", null });
} }
@Test
public void testWhile() { public void testWhile() {
String text = String text =
"while true; do foo; done\n"; "while true; do foo; done\n";
AutoconfElement tree = parse(text); AutoconfElement tree = parse(text);
assertTreeStructure(tree, new String[] { "while" }); assertTreeStructure(tree, new String[] { "while" });
} }
@Test
public void testWhile2() { public void testWhile2() {
String text = String text =
"while true\n" + "while true\n" +
@ -206,6 +219,7 @@ public class TestShellParser extends BaseParserTest {
AutoconfElement tree = parse(text); AutoconfElement tree = parse(text);
assertTreeStructure(tree, new String[] { "while", "AC_SOMETHING", "...", null, null }); assertTreeStructure(tree, new String[] { "while", "AC_SOMETHING", "...", null, null });
} }
@Test
public void testWhileErr() { public void testWhileErr() {
String text = String text =
"while; AC_SOMETHING(...) done\n"; "while; AC_SOMETHING(...) done\n";
@ -215,6 +229,7 @@ public class TestShellParser extends BaseParserTest {
checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.INVALID_TERMINATION, "done")); checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.INVALID_TERMINATION, "done"));
assertTreeStructure(tree, new String[] { "while", "AC_SOMETHING", "...", null, null }); assertTreeStructure(tree, new String[] { "while", "AC_SOMETHING", "...", null, null });
} }
@Test
public void testWhileErr2() { public void testWhileErr2() {
String text = String text =
"while true; do AC_SOMETHING(...)\n"; "while true; do AC_SOMETHING(...)\n";
@ -223,7 +238,7 @@ public class TestShellParser extends BaseParserTest {
checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.UNTERMINATED_CONSTRUCT, "while")); checkError(AutoconfEditorMessages.getFormattedString(AutoconfParser.UNTERMINATED_CONSTRUCT, "while"));
assertTreeStructure(tree, new String[] { "while", "AC_SOMETHING", "...", null, null }); assertTreeStructure(tree, new String[] { "while", "AC_SOMETHING", "...", null, null });
} }
@Test
public void testCase() { public void testCase() {
String text = String text =
"case $VAL in\n"+ "case $VAL in\n"+
@ -271,7 +286,7 @@ public class TestShellParser extends BaseParserTest {
assertEquals(0, caseCond.getChildren().length); assertEquals(0, caseCond.getChildren().length);
} }
@Test
public void testCaseErr() { public void testCaseErr() {
String text = String text =
"case $VAL; linux-*-*) AC_FIRST($VAL) ; true esac\n"; "case $VAL; linux-*-*) AC_FIRST($VAL) ; true esac\n";
@ -290,6 +305,7 @@ public class TestShellParser extends BaseParserTest {
assertEqualSource("AC_FIRST($VAL)", caseCond.getChildren()[0]); assertEqualSource("AC_FIRST($VAL)", caseCond.getChildren()[0]);
} }
@Test
public void testCaseErr2() { public void testCaseErr2() {
String text = String text =
"case $VAL in\n"; "case $VAL in\n";
@ -300,7 +316,7 @@ public class TestShellParser extends BaseParserTest {
assertTreeStructure(tree, new String[] { "case" }); assertTreeStructure(tree, new String[] { "case" });
} }
@Test
public void testForIn() { public void testForIn() {
// don't get upset by 'in' // don't get upset by 'in'
String text = String text =
@ -314,7 +330,7 @@ public class TestShellParser extends BaseParserTest {
assertEqualSource(text.substring(0, text.length()-1), forEl); assertEqualSource(text.substring(0, text.length()-1), forEl);
} }
@Test
public void testForDo() { public void testForDo() {
// don't get upset by parentheses // don't get upset by parentheses
String text = String text =
@ -324,15 +340,14 @@ public class TestShellParser extends BaseParserTest {
assertTreeStructure(tree, new String[] { "for", "AC_1", "AC_2", "", null, "AC_3", "...", null, null }); assertTreeStructure(tree, new String[] { "for", "AC_1", "AC_2", "", null, "AC_3", "...", null, null });
} }
@Test
public void testUntil() { public void testUntil() {
String text = String text =
"until false; do AC_SOMETHING(...); done\n"; "until false; do AC_SOMETHING(...); done\n";
AutoconfElement tree = parse(text, false); AutoconfElement tree = parse(text, false);
assertTreeStructure(tree, new String[] { "until", "AC_SOMETHING", "...", null, null }); assertTreeStructure(tree, new String[] { "until", "AC_SOMETHING", "...", null, null });
} }
@Test
public void testSelect() { public void testSelect() {
String text = String text =
"select VAR in 1 2 3; do AC_SOMETHING(...); done\n"+ "select VAR in 1 2 3; do AC_SOMETHING(...); done\n"+
@ -350,7 +365,7 @@ public class TestShellParser extends BaseParserTest {
null null
}); });
} }
@Test
public void testComplex1() { public void testComplex1() {
String text = String text =
"AM_INIT_AUTOMAKE([foo1], 1.96)\n" + "AM_INIT_AUTOMAKE([foo1], 1.96)\n" +
@ -379,7 +394,7 @@ public class TestShellParser extends BaseParserTest {
null null
}); });
} }
@Test
public void testComplex2() { public void testComplex2() {
String text = String text =
"if true; then\n" + "if true; then\n" +
@ -401,7 +416,7 @@ public class TestShellParser extends BaseParserTest {
null null
}); });
} }
@Test
public void testEarlyClose() { public void testEarlyClose() {
String text = String text =
"if true; then foo ; fi\n"+ "if true; then foo ; fi\n"+
@ -413,7 +428,7 @@ public class TestShellParser extends BaseParserTest {
"while" "while"
}); });
} }
@Test
public void testOverlapping() { public void testOverlapping() {
String text = String text =
"for foo\n"+ "for foo\n"+
@ -424,7 +439,7 @@ public class TestShellParser extends BaseParserTest {
"if" "if"
}); });
} }
@Test
public void testDollar() { public void testDollar() {
// dollars guard keywords // dollars guard keywords
String text = String text =

View file

@ -11,11 +11,14 @@
package org.eclipse.cdt.autotools.tests.autoconf; package org.eclipse.cdt.autotools.tests.autoconf;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import junit.framework.TestCase;
import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfTokenizer; import org.eclipse.cdt.autotools.ui.editors.parser.AutoconfTokenizer;
import org.eclipse.cdt.autotools.ui.editors.parser.IAutoconfErrorHandler; import org.eclipse.cdt.autotools.ui.editors.parser.IAutoconfErrorHandler;
import org.eclipse.cdt.autotools.ui.editors.parser.ITokenConstants; import org.eclipse.cdt.autotools.ui.editors.parser.ITokenConstants;
@ -23,6 +26,7 @@ import org.eclipse.cdt.autotools.ui.editors.parser.ParseException;
import org.eclipse.cdt.autotools.ui.editors.parser.Token; import org.eclipse.cdt.autotools.ui.editors.parser.Token;
import org.eclipse.jface.text.Document; import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IDocument;
import org.junit.Test;
/** /**
@ -31,34 +35,22 @@ import org.eclipse.jface.text.IDocument;
* @author eswartz * @author eswartz
* *
*/ */
public class TestTokenizer extends TestCase { public class TestTokenizer {
private ArrayList tokenizerErrors; private ArrayList<ParseException> tokenizerErrors;
/* (non-Javadoc)
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
}
/* (non-Javadoc)
* @see junit.framework.TestCase#tearDown()
*/
protected void tearDown() throws Exception {
}
protected IDocument createDocument(String text) { protected IDocument createDocument(String text) {
return new Document(text); return new Document(text);
} }
protected List/*<Token>*/tokenize(IDocument document) { protected List<Token> tokenize(IDocument document) {
return tokenize(document, false); return tokenize(document, false);
} }
protected List/*<Token>*/tokenize(IDocument document, boolean isM4Mode) { protected List<Token> tokenize(IDocument document, boolean isM4Mode) {
tokenizerErrors = new ArrayList(); tokenizerErrors = new ArrayList<>();
AutoconfTokenizer tokenizer = new AutoconfTokenizer(document, new IAutoconfErrorHandler() { AutoconfTokenizer tokenizer = new AutoconfTokenizer(document, new IAutoconfErrorHandler() {
@Override
public void handleError(ParseException exception) { public void handleError(ParseException exception) {
tokenizerErrors.add(exception); tokenizerErrors.add(exception);
} }
@ -66,12 +58,12 @@ public class TestTokenizer extends TestCase {
}); });
tokenizer.setM4Context(isM4Mode); tokenizer.setM4Context(isM4Mode);
List/*<Token>*/ tokens = tokenize(tokenizer); List<Token> tokens = tokenize(tokenizer);
return tokens; return tokens;
} }
protected List/*<Token>*/tokenize(AutoconfTokenizer tokenizer) { protected List<Token> tokenize(AutoconfTokenizer tokenizer) {
List/*<Token>*/tokens = new ArrayList(); List<Token> tokens = new ArrayList<>();
while (true) { while (true) {
Token token = tokenizer.readToken(); Token token = tokenizer.readToken();
if (token.getType() == ITokenConstants.EOF) if (token.getType() == ITokenConstants.EOF)
@ -84,242 +76,246 @@ public class TestTokenizer extends TestCase {
protected void checkNoErrors() { protected void checkNoErrors() {
assertEquals(0, tokenizerErrors.size()); assertEquals(0, tokenizerErrors.size());
} }
@Test
public void testEmpty() { public void testEmpty() {
IDocument document = createDocument(""); IDocument document = createDocument("");
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(0, tokens.size()); assertEquals(0, tokens.size());
} }
@Test
public void testEOL1() { public void testEOL1() {
IDocument document = createDocument("\n"); IDocument document = createDocument("\n");
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(1, tokens.size()); assertEquals(1, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(0), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testEOL2() { public void testEOL2() {
IDocument document = createDocument("\r\n"); IDocument document = createDocument("\r\n");
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(1, tokens.size()); assertEquals(1, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.EOL, "\r\n"); checkToken(tokens.get(0), document, ITokenConstants.EOL, "\r\n");
} }
@Test
public void testEOL3() { public void testEOL3() {
IDocument document = createDocument("\n\r\n\n"); IDocument document = createDocument("\n\r\n\n");
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(3, tokens.size()); assertEquals(3, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(0), document, ITokenConstants.EOL, "\n");
checkToken((Token) tokens.get(1), document, ITokenConstants.EOL, "\r\n"); checkToken(tokens.get(1), document, ITokenConstants.EOL, "\r\n");
checkToken((Token) tokens.get(2), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(2), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testShellText() { public void testShellText() {
// default mode is shell // default mode is shell
String text = "random\nstuff\n"; String text = "random\nstuff\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(4, tokens.size()); assertEquals(4, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, checkToken(tokens.get(0), document, ITokenConstants.WORD,
"random"); "random");
checkToken((Token) tokens.get(1), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(1), document, ITokenConstants.EOL, "\n");
checkToken((Token) tokens.get(2), document, ITokenConstants.WORD, checkToken(tokens.get(2), document, ITokenConstants.WORD,
"stuff"); "stuff");
checkToken((Token) tokens.get(3), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(3), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testShellTokens() { public void testShellTokens() {
// default mode is shell // default mode is shell
String text = "while true; do ls; done\n"; String text = "while true; do ls; done\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(8, tokens.size()); assertEquals(8, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.SH_WHILE, checkToken(tokens.get(0), document, ITokenConstants.SH_WHILE,
"while"); "while");
checkToken((Token) tokens.get(1), document, ITokenConstants.WORD, checkToken(tokens.get(1), document, ITokenConstants.WORD,
"true"); "true");
checkToken((Token) tokens.get(2), document, ITokenConstants.SEMI, ";"); checkToken(tokens.get(2), document, ITokenConstants.SEMI, ";");
checkToken((Token) tokens.get(3), document, ITokenConstants.SH_DO, "do"); checkToken(tokens.get(3), document, ITokenConstants.SH_DO, "do");
checkToken((Token) tokens.get(4), document, ITokenConstants.WORD, "ls"); checkToken(tokens.get(4), document, ITokenConstants.WORD, "ls");
checkToken((Token) tokens.get(5), document, ITokenConstants.SEMI, ";"); checkToken(tokens.get(5), document, ITokenConstants.SEMI, ";");
checkToken((Token) tokens.get(6), document, ITokenConstants.SH_DONE, checkToken(tokens.get(6), document, ITokenConstants.SH_DONE,
"done"); "done");
checkToken((Token) tokens.get(7), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(7), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testShellTokens2() { public void testShellTokens2() {
// don't misread partial tokens // don't misread partial tokens
String text = "while_stuff incase"; String text = "while_stuff incase";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(2, tokens.size()); assertEquals(2, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, checkToken(tokens.get(0), document, ITokenConstants.WORD,
"while_stuff"); "while_stuff");
checkToken((Token) tokens.get(1), document, ITokenConstants.WORD, checkToken(tokens.get(1), document, ITokenConstants.WORD,
"incase"); "incase");
} }
@Test
public void testShellTokens3() { public void testShellTokens3() {
// don't interpret m4 strings in shell mode // don't interpret m4 strings in shell mode
String text = "`foo'"; String text = "`foo'";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
assertEquals(1, tokenizerErrors.size()); assertEquals(1, tokenizerErrors.size());
assertEquals(1, tokens.size()); assertEquals(1, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.SH_STRING_BACKTICK, "foo'", 5); checkToken(tokens.get(0), document, ITokenConstants.SH_STRING_BACKTICK, "foo'", 5);
} }
@Test
public void testShellTokens4() { public void testShellTokens4() {
String text = "echo $if $((foo)) $\n"; String text = "echo $if $((foo)) $\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(11, tokens.size()); assertEquals(11, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, "echo"); checkToken(tokens.get(0), document, ITokenConstants.WORD, "echo");
checkToken((Token) tokens.get(1), document, ITokenConstants.SH_DOLLAR, "$"); checkToken(tokens.get(1), document, ITokenConstants.SH_DOLLAR, "$");
// dollar guards keywords, but the tokenizer doesn't know this // dollar guards keywords, but the tokenizer doesn't know this
checkToken((Token) tokens.get(2), document, ITokenConstants.SH_IF, "if"); checkToken(tokens.get(2), document, ITokenConstants.SH_IF, "if");
checkToken((Token) tokens.get(3), document, ITokenConstants.SH_DOLLAR, "$"); checkToken(tokens.get(3), document, ITokenConstants.SH_DOLLAR, "$");
checkToken((Token) tokens.get(4), document, ITokenConstants.LPAREN, "("); checkToken(tokens.get(4), document, ITokenConstants.LPAREN, "(");
checkToken((Token) tokens.get(5), document, ITokenConstants.LPAREN, "("); checkToken(tokens.get(5), document, ITokenConstants.LPAREN, "(");
checkToken((Token) tokens.get(6), document, ITokenConstants.WORD, "foo"); checkToken(tokens.get(6), document, ITokenConstants.WORD, "foo");
checkToken((Token) tokens.get(7), document, ITokenConstants.RPAREN, ")"); checkToken(tokens.get(7), document, ITokenConstants.RPAREN, ")");
checkToken((Token) tokens.get(8), document, ITokenConstants.RPAREN, ")"); checkToken(tokens.get(8), document, ITokenConstants.RPAREN, ")");
checkToken((Token) tokens.get(9), document, ITokenConstants.SH_DOLLAR, "$"); checkToken(tokens.get(9), document, ITokenConstants.SH_DOLLAR, "$");
checkToken((Token) tokens.get(10), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(10), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testShellTokens5() { public void testShellTokens5() {
String text = "while do select for until done\n"; String text = "while do select for until done\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(7, tokens.size()); assertEquals(7, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.SH_WHILE, "while"); checkToken(tokens.get(0), document, ITokenConstants.SH_WHILE, "while");
checkToken((Token) tokens.get(1), document, ITokenConstants.SH_DO, "do"); checkToken(tokens.get(1), document, ITokenConstants.SH_DO, "do");
checkToken((Token) tokens.get(2), document, ITokenConstants.SH_SELECT, "select"); checkToken(tokens.get(2), document, ITokenConstants.SH_SELECT, "select");
checkToken((Token) tokens.get(3), document, ITokenConstants.SH_FOR, "for"); checkToken(tokens.get(3), document, ITokenConstants.SH_FOR, "for");
checkToken((Token) tokens.get(4), document, ITokenConstants.SH_UNTIL, "until"); checkToken(tokens.get(4), document, ITokenConstants.SH_UNTIL, "until");
checkToken((Token) tokens.get(5), document, ITokenConstants.SH_DONE, "done"); checkToken(tokens.get(5), document, ITokenConstants.SH_DONE, "done");
checkToken((Token) tokens.get(6), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(6), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testShellComments() { public void testShellComments() {
// comments are stripped and ignored in the shell mode // comments are stripped and ignored in the shell mode
String text = "for # while case\n"; String text = "for # while case\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(2, tokens.size()); assertEquals(2, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.SH_FOR, checkToken(tokens.get(0), document, ITokenConstants.SH_FOR,
"for"); "for");
checkToken((Token) tokens.get(1), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(1), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testShellComments2() { public void testShellComments2() {
// comments are stripped and ignored in the shell mode // comments are stripped and ignored in the shell mode
String text = "# while case\n" + "#for x in 3\n" + "\n"; String text = "# while case\n" + "#for x in 3\n" + "\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(3, tokens.size()); assertEquals(3, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(0), document, ITokenConstants.EOL, "\n");
checkToken((Token) tokens.get(1), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(1), document, ITokenConstants.EOL, "\n");
checkToken((Token) tokens.get(2), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(2), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testM4Tokens0() { public void testM4Tokens0() {
String text = "while_stuff incase"; String text = "while_stuff incase";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, true); List<Token> tokens = tokenize(document, true);
checkNoErrors(); checkNoErrors();
assertEquals(2, tokens.size()); assertEquals(2, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, checkToken(tokens.get(0), document, ITokenConstants.WORD,
"while_stuff"); "while_stuff");
checkToken((Token) tokens.get(1), document, ITokenConstants.WORD, checkToken(tokens.get(1), document, ITokenConstants.WORD,
"incase"); "incase");
} }
@Test
public void testShellStrings() { public void testShellStrings() {
String QUOTED = String QUOTED =
"ls -la \"*.c\""; "ls -la \"*.c\"";
String text = "echo `" + QUOTED + "`\n"; String text = "echo `" + QUOTED + "`\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(3, tokens.size()); assertEquals(3, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, checkToken(tokens.get(0), document, ITokenConstants.WORD,
"echo"); "echo");
checkToken((Token) tokens.get(1), document, ITokenConstants.SH_STRING_BACKTICK, checkToken(tokens.get(1), document, ITokenConstants.SH_STRING_BACKTICK,
QUOTED, QUOTED.length() + 2); QUOTED, QUOTED.length() + 2);
checkToken((Token) tokens.get(2), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(2), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testShellStrings2() { public void testShellStrings2() {
String QUOTED = String QUOTED =
"ls -la 'space file'"; "ls -la 'space file'";
String text = "echo \"" + QUOTED + "\"\n"; String text = "echo \"" + QUOTED + "\"\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(3, tokens.size()); assertEquals(3, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, checkToken(tokens.get(0), document, ITokenConstants.WORD,
"echo"); "echo");
checkToken((Token) tokens.get(1), document, ITokenConstants.SH_STRING_DOUBLE, checkToken(tokens.get(1), document, ITokenConstants.SH_STRING_DOUBLE,
QUOTED, QUOTED.length() + 2); QUOTED, QUOTED.length() + 2);
checkToken((Token) tokens.get(2), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(2), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testShellStrings3() { public void testShellStrings3() {
String QUOTED = String QUOTED =
"echo \"*.c\" | sed s/[a-z]/[A-Z]/g"; "echo \"*.c\" | sed s/[a-z]/[A-Z]/g";
String text = "echo '" + QUOTED + "'\n"; String text = "echo '" + QUOTED + "'\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, false); List<Token> tokens = tokenize(document, false);
checkNoErrors(); checkNoErrors();
assertEquals(3, tokens.size()); assertEquals(3, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, checkToken(tokens.get(0), document, ITokenConstants.WORD,
"echo"); "echo");
checkToken((Token) tokens.get(1), document, ITokenConstants.SH_STRING_SINGLE, checkToken(tokens.get(1), document, ITokenConstants.SH_STRING_SINGLE,
QUOTED, QUOTED.length() + 2); QUOTED, QUOTED.length() + 2);
checkToken((Token) tokens.get(2), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(2), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testM4Tokens1() { public void testM4Tokens1() {
String text = "define(`hi\', `HI\')\n"; String text = "define(`hi\', `HI\')\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, true); List<Token> tokens = tokenize(document, true);
checkNoErrors(); checkNoErrors();
assertEquals(7, tokens.size()); assertEquals(7, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, checkToken(tokens.get(0), document, ITokenConstants.WORD,
"define"); "define");
checkToken((Token) tokens.get(1), document, ITokenConstants.LPAREN, "("); checkToken(tokens.get(1), document, ITokenConstants.LPAREN, "(");
// strings are unquoted in token text // strings are unquoted in token text
checkToken((Token) tokens.get(2), document, ITokenConstants.M4_STRING, checkToken(tokens.get(2), document, ITokenConstants.M4_STRING,
"hi", 4); "hi", 4);
checkToken((Token) tokens.get(3), document, ITokenConstants.COMMA, ","); checkToken(tokens.get(3), document, ITokenConstants.COMMA, ",");
checkToken((Token) tokens.get(4), document, ITokenConstants.M4_STRING, checkToken(tokens.get(4), document, ITokenConstants.M4_STRING,
"HI", 4); "HI", 4);
checkToken((Token) tokens.get(5), document, ITokenConstants.RPAREN, ")"); checkToken(tokens.get(5), document, ITokenConstants.RPAREN, ")");
checkToken((Token) tokens.get(6), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(6), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testM4Comments() { public void testM4Comments() {
String text = "dnl # comment\n"; String text = "dnl # comment\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
List tokens = tokenize(document, true); List<Token> tokens = tokenize(document, true);
checkNoErrors(); checkNoErrors();
assertEquals(2, tokens.size()); assertEquals(2, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, "dnl"); checkToken(tokens.get(0), document, ITokenConstants.WORD, "dnl");
checkToken((Token) tokens.get(1), document, ITokenConstants.M4_COMMENT, checkToken(tokens.get(1), document, ITokenConstants.M4_COMMENT,
"# comment\n"); "# comment\n");
} }
@Test
public void testM4Comments2() { public void testM4Comments2() {
String text = "dnl /* word(`quoted')\n" + "*/\n"; String text = "dnl /* word(`quoted')\n" + "*/\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
@ -327,14 +323,14 @@ public class TestTokenizer extends TestCase {
tokenizer.setM4Context(true); tokenizer.setM4Context(true);
tokenizer.setM4Comment("/*", "*/"); tokenizer.setM4Comment("/*", "*/");
List tokens = tokenize(tokenizer); List<Token> tokens = tokenize(tokenizer);
assertEquals(3, tokens.size()); assertEquals(3, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, "dnl"); checkToken(tokens.get(0), document, ITokenConstants.WORD, "dnl");
checkToken((Token) tokens.get(1), document, ITokenConstants.M4_COMMENT, checkToken(tokens.get(1), document, ITokenConstants.M4_COMMENT,
"/* word(`quoted')\n*/"); "/* word(`quoted')\n*/");
checkToken((Token) tokens.get(2), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(2), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testM4Strings1() { public void testM4Strings1() {
// double quotes only removes one level of quotes // double quotes only removes one level of quotes
String text = "``double''\n"; String text = "``double''\n";
@ -342,13 +338,13 @@ public class TestTokenizer extends TestCase {
AutoconfTokenizer tokenizer = createTokenizer(document); AutoconfTokenizer tokenizer = createTokenizer(document);
tokenizer.setM4Context(true); tokenizer.setM4Context(true);
List tokens = tokenize(tokenizer); List<Token> tokens = tokenize(tokenizer);
assertEquals(2, tokens.size()); assertEquals(2, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.M4_STRING, checkToken(tokens.get(0), document, ITokenConstants.M4_STRING,
"`double'", 8 + 1 + 1); "`double'", 8 + 1 + 1);
checkToken((Token) tokens.get(1), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(1), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testM4Strings2() { public void testM4Strings2() {
String text = "myword(!!boundary==)\n"; String text = "myword(!!boundary==)\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
@ -356,17 +352,17 @@ public class TestTokenizer extends TestCase {
tokenizer.setM4Context(true); tokenizer.setM4Context(true);
tokenizer.setM4Quote("!!", "=="); tokenizer.setM4Quote("!!", "==");
List tokens = tokenize(tokenizer); List<Token> tokens = tokenize(tokenizer);
assertEquals(5, tokens.size()); assertEquals(5, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, checkToken(tokens.get(0), document, ITokenConstants.WORD,
"myword"); "myword");
checkToken((Token) tokens.get(1), document, ITokenConstants.LPAREN, "("); checkToken(tokens.get(1), document, ITokenConstants.LPAREN, "(");
checkToken((Token) tokens.get(2), document, ITokenConstants.M4_STRING, checkToken(tokens.get(2), document, ITokenConstants.M4_STRING,
"boundary", 8 + 2 + 2); "boundary", 8 + 2 + 2);
checkToken((Token) tokens.get(3), document, ITokenConstants.RPAREN, ")"); checkToken(tokens.get(3), document, ITokenConstants.RPAREN, ")");
checkToken((Token) tokens.get(4), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(4), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testM4Tokens2() { public void testM4Tokens2() {
// dollar is not seen in m4 mode (only important when expanding) // dollar is not seen in m4 mode (only important when expanding)
String text = "define(foo,$1)\n"; String text = "define(foo,$1)\n";
@ -374,19 +370,19 @@ public class TestTokenizer extends TestCase {
AutoconfTokenizer tokenizer = createTokenizer(document); AutoconfTokenizer tokenizer = createTokenizer(document);
tokenizer.setM4Context(true); tokenizer.setM4Context(true);
List tokens = tokenize(tokenizer); List<Token> tokens = tokenize(tokenizer);
assertEquals(8, tokens.size()); assertEquals(8, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.WORD, checkToken(tokens.get(0), document, ITokenConstants.WORD,
"define"); "define");
checkToken((Token) tokens.get(1), document, ITokenConstants.LPAREN, "("); checkToken(tokens.get(1), document, ITokenConstants.LPAREN, "(");
checkToken((Token) tokens.get(2), document, ITokenConstants.WORD, "foo"); checkToken(tokens.get(2), document, ITokenConstants.WORD, "foo");
checkToken((Token) tokens.get(3), document, ITokenConstants.COMMA, ","); checkToken(tokens.get(3), document, ITokenConstants.COMMA, ",");
checkToken((Token) tokens.get(4), document, ITokenConstants.TEXT, "$"); checkToken(tokens.get(4), document, ITokenConstants.TEXT, "$");
checkToken((Token) tokens.get(5), document, ITokenConstants.TEXT, "1"); checkToken(tokens.get(5), document, ITokenConstants.TEXT, "1");
checkToken((Token) tokens.get(6), document, ITokenConstants.RPAREN, ")"); checkToken(tokens.get(6), document, ITokenConstants.RPAREN, ")");
checkToken((Token) tokens.get(7), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(7), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testM4QuoteNesting() { public void testM4QuoteNesting() {
String quote = "this is `nested\'!"; String quote = "this is `nested\'!";
String text = "`" + quote +"'\n"; String text = "`" + quote +"'\n";
@ -394,14 +390,14 @@ public class TestTokenizer extends TestCase {
AutoconfTokenizer tokenizer = createTokenizer(document); AutoconfTokenizer tokenizer = createTokenizer(document);
tokenizer.setM4Context(true); tokenizer.setM4Context(true);
List tokens = tokenize(tokenizer); List<Token> tokens = tokenize(tokenizer);
assertEquals(2, tokens.size()); assertEquals(2, tokens.size());
checkToken((Token) tokens.get(0), document, ITokenConstants.M4_STRING, checkToken(tokens.get(0), document, ITokenConstants.M4_STRING,
quote, quote.length() + 2); quote, quote.length() + 2);
checkToken((Token) tokens.get(1), document, ITokenConstants.EOL, "\n"); checkToken(tokens.get(1), document, ITokenConstants.EOL, "\n");
} }
@Test
public void testMixedContext() { public void testMixedContext() {
String text = "AM_INIT([arg])if true\n"; String text = "AM_INIT([arg])if true\n";
IDocument document = createDocument(text); IDocument document = createDocument(text);
@ -449,7 +445,7 @@ public class TestTokenizer extends TestCase {
private AutoconfTokenizer createTokenizer(IDocument document) { private AutoconfTokenizer createTokenizer(IDocument document) {
return new AutoconfTokenizer(document, new IAutoconfErrorHandler() { return new AutoconfTokenizer(document, new IAutoconfErrorHandler() {
@Override
public void handleError(ParseException exception) { public void handleError(ParseException exception) {
fail(exception.toString()); fail(exception.toString());
} }

View file

@ -10,8 +10,18 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests.editors; package org.eclipse.cdt.autotools.tests.editors;
import junit.framework.TestCase; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.eclipse.cdt.autotools.tests.AutotoolsTestsPlugin;
import org.eclipse.cdt.autotools.tests.ProjectTools;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeDocumentProvider;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeEditor;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakefileCodeScanner;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakefileSourceConfiguration;
import org.eclipse.cdt.internal.autotools.ui.preferences.ColorManager;
import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor;
@ -20,20 +30,15 @@ import org.eclipse.jface.text.ITypedRegion;
import org.eclipse.jface.text.TextAttribute; import org.eclipse.jface.text.TextAttribute;
import org.eclipse.jface.text.rules.IToken; import org.eclipse.jface.text.rules.IToken;
import org.eclipse.jface.text.rules.Token; import org.eclipse.jface.text.rules.Token;
import org.eclipse.cdt.autotools.tests.AutotoolsTestsPlugin;
import org.eclipse.cdt.autotools.tests.ProjectTools;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeDocumentProvider;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeEditor;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakefileCodeScanner;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakefileSourceConfiguration;
import org.eclipse.cdt.internal.autotools.ui.preferences.ColorManager;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbench;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class AutomakeColourizationTests extends TestCase { public class AutomakeColourizationTests {
ProjectTools tools; ProjectTools tools;
private IProject project; private IProject project;
@ -51,8 +56,8 @@ public class AutomakeColourizationTests extends TestCase {
private IWorkbench workbench; private IWorkbench workbench;
private AutomakefileCodeScanner codeScanner; private AutomakefileCodeScanner codeScanner;
protected void setUp() throws Exception { @Before
super.setUp(); public void setUp() throws Exception {
tools = new ProjectTools(); tools = new ProjectTools();
if (!ProjectTools.setup()) if (!ProjectTools.setup())
fail("could not perform basic project workspace setup"); fail("could not perform basic project workspace setup");
@ -67,7 +72,8 @@ public class AutomakeColourizationTests extends TestCase {
Display.getDefault().syncExec(new Runnable() { Display.getDefault().syncExec(new Runnable() {
public void run() { @Override
public void run() {
try { try {
makefileAmFile = tools.createFile(project, "Makefile.am", makefileAmContents); makefileAmFile = tools.createFile(project, "Makefile.am", makefileAmContents);
workbench = AutotoolsTestsPlugin.getDefault().getWorkbench(); workbench = AutotoolsTestsPlugin.getDefault().getWorkbench();
@ -96,7 +102,7 @@ public class AutomakeColourizationTests extends TestCase {
IToken getNextToken() { IToken getNextToken() {
return codeScanner.nextToken(); return codeScanner.nextToken();
} }
@Test
public void testAutomakeEditorColourization() throws Exception { public void testAutomakeEditorColourization() throws Exception {
// # This is a comment // # This is a comment
IToken token0 = getNextToken(); IToken token0 = getNextToken();
@ -106,7 +112,7 @@ public class AutomakeColourizationTests extends TestCase {
Token token = (Token) token0; Token token = (Token) token0;
TextAttribute ta = (TextAttribute) token.getData(); TextAttribute ta = (TextAttribute) token.getData();
assertEquals(ColorManager.MAKE_COMMENT_RGB, ((Color) ta.getForeground()).getRGB()); assertEquals(ColorManager.MAKE_COMMENT_RGB, ta.getForeground().getRGB());
// if CONDITION // if CONDITION
token0 = getNextToken(); token0 = getNextToken();
@ -116,7 +122,7 @@ public class AutomakeColourizationTests extends TestCase {
token = (Token) token0; token = (Token) token0;
TextAttribute attribute = (TextAttribute) token.getData(); TextAttribute attribute = (TextAttribute) token.getData();
assertEquals(ColorManager.MAKE_KEYWORD_RGB, ((Color) attribute.getForeground()).getRGB()); assertEquals(ColorManager.MAKE_KEYWORD_RGB, attribute.getForeground().getRGB());
// blank space between "if" and "CONDITION" // blank space between "if" and "CONDITION"
token0 = getNextToken(); token0 = getNextToken();
@ -136,7 +142,7 @@ public class AutomakeColourizationTests extends TestCase {
token = (Token) token0; token = (Token) token0;
attribute = (TextAttribute) token.getData(); attribute = (TextAttribute) token.getData();
assertEquals(ColorManager.MAKE_DEFAULT_RGB, ((Color) attribute.getForeground()).getRGB()); assertEquals(ColorManager.MAKE_DEFAULT_RGB, attribute.getForeground().getRGB());
// line break // line break
token0 = getNextToken(); token0 = getNextToken();
@ -156,7 +162,7 @@ public class AutomakeColourizationTests extends TestCase {
token = (Token) token0; token = (Token) token0;
attribute = (TextAttribute) token.getData(); attribute = (TextAttribute) token.getData();
assertEquals(ColorManager.MAKE_MACRO_DEF_RGB, ((Color) attribute.getForeground()).getRGB()); assertEquals(ColorManager.MAKE_MACRO_DEF_RGB, attribute.getForeground().getRGB());
// else // else
token0 = getNextToken(); token0 = getNextToken();
@ -166,7 +172,7 @@ public class AutomakeColourizationTests extends TestCase {
token = (Token) token0; token = (Token) token0;
attribute = (TextAttribute) token.getData(); attribute = (TextAttribute) token.getData();
assertEquals(ColorManager.MAKE_KEYWORD_RGB, ((Color) attribute.getForeground()).getRGB()); assertEquals(ColorManager.MAKE_KEYWORD_RGB, attribute.getForeground().getRGB());
// line break // line break
token0 = getNextToken(); token0 = getNextToken();
@ -186,7 +192,7 @@ public class AutomakeColourizationTests extends TestCase {
token = (Token) token0; token = (Token) token0;
attribute = (TextAttribute) token.getData(); attribute = (TextAttribute) token.getData();
assertEquals(ColorManager.MAKE_MACRO_DEF_RGB, ((Color) attribute.getForeground()).getRGB()); assertEquals(ColorManager.MAKE_MACRO_DEF_RGB, attribute.getForeground().getRGB());
// $(MACRO) // $(MACRO)
token0 = getNextToken(); token0 = getNextToken();
@ -196,7 +202,7 @@ public class AutomakeColourizationTests extends TestCase {
token = (Token) token0; token = (Token) token0;
attribute = (TextAttribute) token.getData(); attribute = (TextAttribute) token.getData();
assertEquals(ColorManager.MAKE_MACRO_REF_RGB, ((Color) attribute.getForeground()).getRGB()); assertEquals(ColorManager.MAKE_MACRO_REF_RGB, attribute.getForeground().getRGB());
// line break // line break
token0 = getNextToken(); token0 = getNextToken();
@ -216,11 +222,10 @@ public class AutomakeColourizationTests extends TestCase {
token = (Token) token0; token = (Token) token0;
attribute = (TextAttribute) token.getData(); attribute = (TextAttribute) token.getData();
assertEquals(ColorManager.MAKE_MACRO_REF_RGB, ((Color) attribute.getForeground()).getRGB()); assertEquals(ColorManager.MAKE_MACRO_REF_RGB, attribute.getForeground().getRGB());
} }
@After
protected void tearDown() throws Exception { public void tearDown() throws Exception {
super.tearDown();
project.delete(true, false, ProjectTools.getMonitor()); project.delete(true, false, ProjectTools.getMonitor());
} }
} }

View file

@ -10,18 +10,18 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests.editors; package org.eclipse.cdt.autotools.tests.editors;
import junit.framework.TestCase;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.cdt.autotools.tests.AutotoolsTestsPlugin; import org.eclipse.cdt.autotools.tests.AutotoolsTestsPlugin;
import org.eclipse.cdt.autotools.tests.ProjectTools; import org.eclipse.cdt.autotools.tests.ProjectTools;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeEditor; import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeEditor;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbench;
import junit.framework.TestCase;
public class AutomakeEditorTests extends TestCase { public class AutomakeEditorTests extends TestCase {

View file

@ -10,24 +10,24 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests.editors; package org.eclipse.cdt.autotools.tests.editors;
import junit.framework.TestCase;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
import org.eclipse.cdt.autotools.tests.AutotoolsTestsPlugin; import org.eclipse.cdt.autotools.tests.AutotoolsTestsPlugin;
import org.eclipse.cdt.autotools.tests.ProjectTools; import org.eclipse.cdt.autotools.tests.ProjectTools;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeDocumentProvider; import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeDocumentProvider;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeEditor; import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeEditor;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeTextHover; import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakeTextHover;
import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakefileSourceConfiguration; import org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakefileSourceConfiguration;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbench;
import junit.framework.TestCase;
public class AutomakeTextHoverTest extends TestCase { public class AutomakeTextHoverTest extends TestCase {

View file

@ -10,20 +10,14 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.autotools.tests.editors; package org.eclipse.cdt.autotools.tests.editors;
import junit.framework.Test; import org.junit.runner.RunWith;
import junit.framework.TestSuite; import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
AutomakeColourizationTests.class,
AutomakeTextHoverTest.class,
AutomakeEditorTests.class
})
public class EditorTests { public class EditorTests {
public static Test suite() {
TestSuite suite = new TestSuite(
"Test for org.eclipse.cdt.autotools.core.tests.editors");
//$JUnit-BEGIN$
suite.addTestSuite(AutomakeColourizationTests.class);
suite.addTestSuite(AutomakeTextHoverTest.class);
suite.addTestSuite(AutomakeEditorTests.class);
//$JUnit-END$
return suite;
}
} }