From 3d8c2ca8f624d4ce25fff28d1ebcb683fc0f1723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Norbert=20Pl=F6tt?= Date: Tue, 18 Jul 2006 11:49:55 +0000 Subject: [PATCH] Revised content assist tests. No tests are kept artificially green anymore. --- ...FailedTest_MemberReference_Arrow_Prefix2.java | 2 +- .../CompletionProposalsBaseTest.java | 16 +++++++++++++++- .../CompletionTest_ArgumentType_Prefix.java | 2 +- .../CompletionTest_ArgumentType_Prefix2.java | 2 +- ...CompletionTest_ExceptionReference_Prefix.java | 2 +- .../CompletionTest_FieldType_Prefix.java | 2 +- ...ompletionTest_MemberReference_Dot_Prefix.java | 2 -- .../CompletionTest_NewTypeReference_Prefix.java | 4 +--- .../CompletionTest_ScopedReference_Prefix.java | 10 ++++++++++ .../CompletionTest_SingleName_Method_Prefix.java | 14 ++++++++++++-- .../CompletionTest_SingleName_Prefix2.java | 3 +-- .../CompletionTest_TypeDef_NoPrefix.java | 10 ++++++++++ .../CompletionTest_TypeDef_Prefix.java | 11 +++++++++++ .../CompletionTest_VariableType_Prefix.java | 2 +- 14 files changed, 66 insertions(+), 16 deletions(-) diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionFailedTest_MemberReference_Arrow_Prefix2.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionFailedTest_MemberReference_Arrow_Prefix2.java index 9be82420714..953604e9900 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionFailedTest_MemberReference_Arrow_Prefix2.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionFailedTest_MemberReference_Arrow_Prefix2.java @@ -28,10 +28,10 @@ public class CompletionFailedTest_MemberReference_Arrow_Prefix2 extends Complet private final String headerFileFullPath ="resources/contentassist/" + headerFileName; private final String expectedPrefix = "a"; private final String[] expectedResults = { + "aClass", "aField : int", "aMethod(void) int" /* FIXME: Additional results which should not be found. Run with trace activated to reproduce: -Result: aClass Result: author - author name */ }; diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionProposalsBaseTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionProposalsBaseTest.java index 388f3cb314a..a91beaedaaf 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionProposalsBaseTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionProposalsBaseTest.java @@ -65,7 +65,7 @@ public abstract class CompletionProposalsBaseTest extends TestCase{ } /* - * Derived classes have to provide there abstract methods + * Derived classes have to provide these test parameters */ protected abstract String getFileName(); protected abstract String getFileFullPath(); @@ -76,6 +76,13 @@ public abstract class CompletionProposalsBaseTest extends TestCase{ protected abstract String[] getExpectedResultsValues(); protected String getFunctionOrConstructorName() { return EMPTY_STRING; } + /** + * Override to relax checking of extra results + */ + protected boolean doCheckExtraResults() { + return true ; + } + protected void setUp() throws Exception { monitor = new NullProgressMonitor(); @@ -115,6 +122,10 @@ public abstract class CompletionProposalsBaseTest extends TestCase{ } public void testCompletionProposals() throws Exception { + + if (CTestPlugin.getDefault().isDebugging()) { + System.out.println("\n\n\n\n\nTesting "+this.getClass().getName()); + } // setup the translation unit, the buffer and the document ITranslationUnit tu = (ITranslationUnit)CoreModel.getDefault().create(fCFile); buffer = tu.getBuffer().getContents(); @@ -171,6 +182,9 @@ public abstract class CompletionProposalsBaseTest extends TestCase{ } } assertTrue("Not enough results!", results.length >= expected.length); + if (doCheckExtraResults()) { + assertEquals("Extra results! Run with tracing to see details!", expected.length, results.length); + } assertTrue("Some expected results were not found!", allFound); } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ArgumentType_Prefix.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ArgumentType_Prefix.java index c608e0a44db..436249fd0fb 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ArgumentType_Prefix.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ArgumentType_Prefix.java @@ -33,7 +33,7 @@ public class CompletionTest_ArgumentType_Prefix extends CompletionProposalsBase "anotherClass", "aNamespace", "anEnumeration", - // "AStruct" FIXME: Result removed. The DOM search is currently case sensitive + "AStruct" /* FIXME: Additional results which should not be there. Run with trace enabled to reproduce: Result: aFirstEnum Result: aFunction(void) bool diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ArgumentType_Prefix2.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ArgumentType_Prefix2.java index 28f64756904..dc68f3f4bce 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ArgumentType_Prefix2.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ArgumentType_Prefix2.java @@ -33,7 +33,7 @@ public class CompletionTest_ArgumentType_Prefix2 extends CompletionProposalsBas "anotherClass", "aNamespace", "anEnumeration", - // "AStruct" FIXME: Result removed. DOM search is currently case sensitive + "AStruct" /* FIXME: Additional results which should not be there. Run with trace enabled to reproduce: Result: aFirstEnum Result: aFunction(void) bool diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ExceptionReference_Prefix.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ExceptionReference_Prefix.java index 1ed57af0e4f..19c15fb6ad7 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ExceptionReference_Prefix.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ExceptionReference_Prefix.java @@ -35,7 +35,7 @@ public class CompletionTest_ExceptionReference_Prefix extends CompletionProposa "anotherClass", "aNamespace", "anEnumeration", - // "AStruct" FIXME: Result removed. DOM search is currently case sensitive + "AStruct" /* FIXME: Additional results which should not be there. Run with trace enabled to reproduce: Result: aFirstEnum Result: aFunction(void) bool diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_FieldType_Prefix.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_FieldType_Prefix.java index ba6eb411b26..ee32020f073 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_FieldType_Prefix.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_FieldType_Prefix.java @@ -32,7 +32,7 @@ public class CompletionTest_FieldType_Prefix extends CompletionProposalsBaseTes "aThirdClass", "aNamespace", "anEnumeration", - // "AStruct", FIXME: result removed: Lookup is currently case sensitive. "aStruct" would work! + "AStruct" /* FIXME: Additional results which should not be returned. Run with tracing enabled to reproduce: Result: aFirstEnum Result: aFunction(void) bool diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_MemberReference_Dot_Prefix.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_MemberReference_Dot_Prefix.java index 2b50639f916..759ac242cce 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_MemberReference_Dot_Prefix.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_MemberReference_Dot_Prefix.java @@ -30,8 +30,6 @@ public class CompletionTest_MemberReference_Dot_Prefix extends CompletionPropos private final String[] expectedResults = { "aField : int", "aMethod(void) int", - "aClass" /* FIXME: aClass is currently returned as a result, but this is not syntactically correct. - Completion processing needs to be fixed, putting this here as a reminder. */ }; public CompletionTest_MemberReference_Dot_Prefix(String name) { diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_NewTypeReference_Prefix.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_NewTypeReference_Prefix.java index 0bef18b2202..ae9e491d957 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_NewTypeReference_Prefix.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_NewTypeReference_Prefix.java @@ -32,9 +32,7 @@ public class CompletionTest_NewTypeReference_Prefix extends CompletionProposals private final String[] expectedResults = { "aClass", "anotherClass", - "aNamespace", - "anEnumeration", - // "AStruct" FIXME: Result removed. DOM search is currently case sensitive + "AStruct" /* FIXME: Additional results which should not be there. Run with trace enabled to reproduce: Result: aFirstEnum Result: aFunction(void) bool diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ScopedReference_Prefix.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ScopedReference_Prefix.java index 0e10a247041..b7960161799 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ScopedReference_Prefix.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_ScopedReference_Prefix.java @@ -31,10 +31,20 @@ public class CompletionTest_ScopedReference_Prefix extends CompletionProposalsB private final String[] expectedResults = { "aNamespaceFunction(void) void" }; + + /* FIXME: Addtional result which should not be there. Run with tracing to reproduce: Result: author - author name */ + /* (non-Javadoc) + * Relax result checking here because the "a" prefix finds the template for "author" + * @see org.eclipse.cdt.ui.tests.text.contentassist2.CompletionProposalsBaseTest#doCheckExtraResults() + */ + protected boolean doCheckExtraResults() { + return false ; + } + public CompletionTest_ScopedReference_Prefix(String name) { super(name); } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_SingleName_Method_Prefix.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_SingleName_Method_Prefix.java index b0130d7532b..ee6d26a969c 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_SingleName_Method_Prefix.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_SingleName_Method_Prefix.java @@ -40,10 +40,20 @@ public class CompletionTest_SingleName_Method_Prefix extends CompletionProposa "aFirstEnum", "aSecondEnum", "aThirdEnum", - // "AStruct", FIXME: result removed: Lookup is currently case sensitive. "aStruct" would work! - // "AMacro(x)" FIXME: result removed: Lookup is currently case sensitive. "aMacro" would work! + "AStruct", + "AMacro(x)" }; + + + /* (non-Javadoc) + * Relax result checking here because the "a" prefix also finds the template for "author" + * @see org.eclipse.cdt.ui.tests.text.contentassist2.CompletionProposalsBaseTest#doCheckExtraResults() + */ + protected boolean doCheckExtraResults() { + return false ; + } + public CompletionTest_SingleName_Method_Prefix(String name) { super(name); } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_SingleName_Prefix2.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_SingleName_Prefix2.java index 7f68babda1d..366aa666787 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_SingleName_Prefix2.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_SingleName_Prefix2.java @@ -37,8 +37,7 @@ public class CompletionTest_SingleName_Prefix2 extends CompletionProposalsBaseT "aFirstEnum", "aSecondEnum", "aThirdEnum", - // "AStruct", FIXME: Result removed. DOM search is currently casesensitive. - // "AMacro(x)" FIXME: Result removed. DOM search is currently casesensitive. + "AMacro(x)" /* FIXME: Additional results which should not be there. Run with tracing to reproduce: * Result: author - author name */ diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_TypeDef_NoPrefix.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_TypeDef_NoPrefix.java index cd9b55302a4..efb67add7eb 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_TypeDef_NoPrefix.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_TypeDef_NoPrefix.java @@ -35,6 +35,16 @@ public class CompletionTest_TypeDef_NoPrefix extends CompletionProposalsBaseTes "myType" }; + + + /* (non-Javadoc) + * Relax checking here because the "m" prefix also finds the templates for "main" and "mutable" + * @see org.eclipse.cdt.ui.tests.text.contentassist2.CompletionProposalsBaseTest#doCheckExtraResults() + */ + protected boolean doCheckExtraResults() { + return false ; + } + public CompletionTest_TypeDef_NoPrefix(String name) { super(name); } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_TypeDef_Prefix.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_TypeDef_Prefix.java index 32edfafd8a5..375de22fdd7 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_TypeDef_Prefix.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_TypeDef_Prefix.java @@ -35,6 +35,17 @@ public class CompletionTest_TypeDef_Prefix extends CompletionProposalsBaseTest{ "myType" }; + + + /* (non-Javadoc) + * Checking for prefix "m" finds also the template for "main" and "mutable". + * --> we relax extra results checking in this case. + * @see org.eclipse.cdt.ui.tests.text.contentassist2.CompletionProposalsBaseTest#doCheckExtraResults() + */ + protected boolean doCheckExtraResults() { + return false ; + } + public CompletionTest_TypeDef_Prefix(String name) { super(name); } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_VariableType_Prefix.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_VariableType_Prefix.java index 14d1d1f4e9e..c8264da4736 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_VariableType_Prefix.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_VariableType_Prefix.java @@ -31,7 +31,7 @@ public class CompletionTest_VariableType_Prefix extends CompletionProposalsBase "anotherClass", "aNamespace", "anEnumeration", - // "AStruct" FIXME: Result removed. The DOM search is currently case sensitive + "AStruct" }; public CompletionTest_VariableType_Prefix(String name) {