Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTCompletionNode.java3
-rw-r--r--core/org.eclipse.cdt.ui.tests/ChangeLog3
-rw-r--r--core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart16.cpp3
-rw-r--r--core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart17.cpp3
-rw-r--r--core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart18.cpp6
-rw-r--r--core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart19.cpp5
-rw-r--r--core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart10.cpp7
-rw-r--r--core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart7.h4
-rw-r--r--core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart8.h3
-rw-r--r--core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart9.cpp8
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/AutomatedSuite.java10
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ClassReference_NoPrefix_Bug50621.java122
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ClassReference_Prefix_Bug50621.java121
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ExceptionReference_NoPrefix_Bug50640.java126
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ExceptionReference_Prefix_Bug50640.java125
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_NoPrefix2_Bug50642.java116
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_NoPrefix_Bug50642.java117
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_Prefix2_Bug50642.java121
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_Prefix_Bug50642.java121
-rw-r--r--core/org.eclipse.cdt.ui/ChangeLog3
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionEngine.java40
21 files changed, 1032 insertions, 35 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTCompletionNode.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTCompletionNode.java
index 4bc2c4c9514..8f5de3c15cc 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTCompletionNode.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTCompletionNode.java
@@ -55,9 +55,6 @@ public interface IASTCompletionNode {
// any place where exclusively a preprocessor macro name would be expected
public static final CompletionKind MACRO_REFERENCE = new CompletionKind( 10 );
- // any place where function arguments are expected
- public static final CompletionKind FUNCTION_REFERENCE = new CompletionKind( 11 );
-
// any place where constructor arguments are expected
public static final CompletionKind CONSTRUCTOR_REFERENCE = new CompletionKind( 12 );
diff --git a/core/org.eclipse.cdt.ui.tests/ChangeLog b/core/org.eclipse.cdt.ui.tests/ChangeLog
index 5d47b247e25..a844862c973 100644
--- a/core/org.eclipse.cdt.ui.tests/ChangeLog
+++ b/core/org.eclipse.cdt.ui.tests/ChangeLog
@@ -1,3 +1,6 @@
+2004-01-26 Hoda Amer
+ More Completion JUnit tests.
+
2004-01-23 Hoda Amer
More Completion JUnit tests.
diff --git a/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart16.cpp b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart16.cpp
new file mode 100644
index 00000000000..8e4eed27f1f
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart16.cpp
@@ -0,0 +1,3 @@
+#include "CompletionTestStart.h"
+
+void foo ( a
diff --git a/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart17.cpp b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart17.cpp
new file mode 100644
index 00000000000..fb9f4cda180
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart17.cpp
@@ -0,0 +1,3 @@
+#include "CompletionTestStart.h"
+
+void foo (
diff --git a/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart18.cpp b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart18.cpp
new file mode 100644
index 00000000000..aa593d21370
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart18.cpp
@@ -0,0 +1,6 @@
+#include "CompletionTestStart.h"
+
+class ClassA {
+ void foo ( a
+};
+
diff --git a/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart19.cpp b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart19.cpp
new file mode 100644
index 00000000000..6ec3631b5dc
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart19.cpp
@@ -0,0 +1,5 @@
+#include "CompletionTestStart.h"
+
+class ClassA {
+ void foo (
+};
diff --git a/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart10.cpp b/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart10.cpp
new file mode 100644
index 00000000000..5e2cbae78aa
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart10.cpp
@@ -0,0 +1,7 @@
+#include "CompletionTestStart.h"
+
+void anotherClass::anotherMethod()
+{
+ try {
+ } catch (
+}
diff --git a/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart7.h b/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart7.h
new file mode 100644
index 00000000000..c0dd03edf34
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart7.h
@@ -0,0 +1,4 @@
+#include "CompletionTestStart.h"
+
+class ClassA : public a
+
diff --git a/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart8.h b/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart8.h
new file mode 100644
index 00000000000..142826ffde4
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart8.h
@@ -0,0 +1,3 @@
+#include "CompletionTestStart.h"
+
+class ClassA : public
diff --git a/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart9.cpp b/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart9.cpp
new file mode 100644
index 00000000000..721d0efbe98
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/resources/contentassist/failedtests/CompletionFailedTestStart9.cpp
@@ -0,0 +1,8 @@
+#include "CompletionTestStart.h"
+
+void anotherClass::anotherMethod()
+{
+ try {
+ } catch ( a
+
+}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/AutomatedSuite.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/AutomatedSuite.java
index 7513c785999..41cf4242d73 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/AutomatedSuite.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/AutomatedSuite.java
@@ -42,6 +42,10 @@ public class AutomatedSuite extends TestSuite {
addTest(CompletionTest_FieldType_NoPrefix2.suite());
addTest(CompletionTest_VariableType_Prefix.suite());
addTest(CompletionTest_VariableType_NoPrefix.suite());
+ addTest(CompletionTest_ArgumentType_NoPrefix_Bug50642.suite());
+ addTest(CompletionTest_ArgumentType_NoPrefix2_Bug50642.suite());
+ addTest(CompletionTest_ArgumentType_Prefix_Bug50642.suite());
+ addTest(CompletionTest_ArgumentType_NoPrefix2_Bug50642.suite());
addTest(CompletionTest_StatementStart_Prefix.suite());
addTest(CompletionTest_StatementStart_NoPrefix.suite());
addTest(CompletionTest_SingleName_Prefix.suite());
@@ -59,7 +63,11 @@ public class AutomatedSuite extends TestSuite {
addTest(CompletionFailedTest_NamespaceRef_NoPrefix_Bug50471.suite());
addTest(CompletionFailedTest_NamespaceRef_Prefix_Bug50471.suite());
addTest(CompletionFailedTest_MacroRef_NoPrefix_Bug50487.suite());
- addTest(CompletionFailedTest_MacroRef_Prefix_Bug50487.suite());
+ addTest(CompletionFailedTest_MacroRef_Prefix_Bug50487.suite());
+ addTest(CompletionFailedTest_ClassReference_NoPrefix_Bug50621.suite());
+ addTest(CompletionFailedTest_ClassReference_Prefix_Bug50621.suite());
+ addTest(CompletionFailedTest_ExceptionReference_NoPrefix_Bug50640.suite());
+ addTest(CompletionFailedTest_ExceptionReference_Prefix_Bug50640.suite());
}
}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ClassReference_NoPrefix_Bug50621.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ClassReference_NoPrefix_Bug50621.java
new file mode 100644
index 00000000000..9b0ea08e9cc
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ClassReference_NoPrefix_Bug50621.java
@@ -0,0 +1,122 @@
+/**********************************************************************
+ * Copyright (c) 2004 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.ui.tests.text.contentassist.failedtests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind;
+import org.eclipse.cdt.ui.tests.text.contentassist.CompletionProposalsBaseTest;
+
+/**
+ * @author hamer
+ *
+ * Testing Class_Reference, with No prefix
+ * Bug#50621 :Wrong completion kind in a class declaration
+ *
+ */
+public class CompletionFailedTest_ClassReference_NoPrefix_Bug50621 extends CompletionProposalsBaseTest{
+
+ private final String fileName = "CompletionFailedTestStart8.h";
+ private final String fileFullPath ="resources/contentassist/failedtests/" + fileName;
+ private final String headerFileName = "CompletionTestStart.h";
+ private final String headerFileFullPath ="resources/contentassist/" + headerFileName;
+ private final String expectedScopeName = "ASTCompilationUnit";
+ private final String expectedContextName = "null";
+ private final CompletionKind expectedKind = CompletionKind.USER_SPECIFIED_NAME; // sould be CompletionKind.CLASS_REFERENCE;
+ private final String expectedPrefix = "";
+ private final String[] expectedResults = {
+// Should be
+// "aClass",
+// "anotherClass",
+// "xOtherClass"
+ };
+
+ public CompletionFailedTest_ClassReference_NoPrefix_Bug50621(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ TestSuite suite= new TestSuite(CompletionFailedTest_ClassReference_NoPrefix_Bug50621.class.getName());
+ suite.addTest(new CompletionFailedTest_ClassReference_NoPrefix_Bug50621("testCompletionProposals"));
+ return suite;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getCompletionPosition()
+ */
+ protected int getCompletionPosition() {
+ return getBuffer().indexOf(" ") + 2;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedScope()
+ */
+ protected String getExpectedScopeClassName() {
+ return expectedScopeName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedContext()
+ */
+ protected String getExpectedContextClassName() {
+ return expectedContextName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedKind()
+ */
+ protected CompletionKind getExpectedKind() {
+ return expectedKind;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedPrefix()
+ */
+ protected String getExpectedPrefix() {
+ return expectedPrefix;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedResultsValues()
+ */
+ protected String[] getExpectedResultsValues() {
+ return expectedResults;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileName()
+ */
+ protected String getFileName() {
+ return fileName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileFullPath()
+ */
+ protected String getFileFullPath() {
+ return fileFullPath;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileFullPath()
+ */
+ protected String getHeaderFileFullPath() {
+ return headerFileFullPath;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileName()
+ */
+ protected String getHeaderFileName() {
+ return headerFileName;
+ }
+
+}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ClassReference_Prefix_Bug50621.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ClassReference_Prefix_Bug50621.java
new file mode 100644
index 00000000000..c8f10518f1e
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ClassReference_Prefix_Bug50621.java
@@ -0,0 +1,121 @@
+/**********************************************************************
+ * Copyright (c) 2004 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.ui.tests.text.contentassist.failedtests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind;
+import org.eclipse.cdt.ui.tests.text.contentassist.CompletionProposalsBaseTest;
+
+/**
+ * @author hamer
+ *
+ * Testing Class_Reference, with prefix
+ * Bug#50621 :Wrong completion kind in a class declaration
+ *
+ */
+public class CompletionFailedTest_ClassReference_Prefix_Bug50621 extends CompletionProposalsBaseTest{
+
+ private final String fileName = "CompletionFailedTestStart7.h";
+ private final String fileFullPath ="resources/contentassist/failedtests/" + fileName;
+ private final String headerFileName = "CompletionTestStart.h";
+ private final String headerFileFullPath ="resources/contentassist/" + headerFileName;
+ private final String expectedScopeName = "ASTCompilationUnit";
+ private final String expectedContextName = "null";
+ private final CompletionKind expectedKind = CompletionKind.USER_SPECIFIED_NAME; // sould be CompletionKind.CLASS_REFERENCE;
+ private final String expectedPrefix = "a";
+ private final String[] expectedResults = {
+// Should be
+// "aClass",
+// "anotherClass"
+ };
+
+ public CompletionFailedTest_ClassReference_Prefix_Bug50621(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ TestSuite suite= new TestSuite(CompletionFailedTest_ClassReference_Prefix_Bug50621.class.getName());
+ suite.addTest(new CompletionFailedTest_ClassReference_Prefix_Bug50621("testCompletionProposals"));
+ return suite;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getCompletionPosition()
+ */
+ protected int getCompletionPosition() {
+ return getBuffer().indexOf(" a ") + 2;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedScope()
+ */
+ protected String getExpectedScopeClassName() {
+ return expectedScopeName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedContext()
+ */
+ protected String getExpectedContextClassName() {
+ return expectedContextName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedKind()
+ */
+ protected CompletionKind getExpectedKind() {
+ return expectedKind;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedPrefix()
+ */
+ protected String getExpectedPrefix() {
+ return expectedPrefix;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedResultsValues()
+ */
+ protected String[] getExpectedResultsValues() {
+ return expectedResults;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileName()
+ */
+ protected String getFileName() {
+ return fileName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileFullPath()
+ */
+ protected String getFileFullPath() {
+ return fileFullPath;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileFullPath()
+ */
+ protected String getHeaderFileFullPath() {
+ return headerFileFullPath;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileName()
+ */
+ protected String getHeaderFileName() {
+ return headerFileName;
+ }
+
+}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ExceptionReference_NoPrefix_Bug50640.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ExceptionReference_NoPrefix_Bug50640.java
new file mode 100644
index 00000000000..27adb3c0344
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ExceptionReference_NoPrefix_Bug50640.java
@@ -0,0 +1,126 @@
+/**********************************************************************
+ * Copyright (c) 2004 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.ui.tests.text.contentassist.failedtests;
+
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind;
+import org.eclipse.cdt.ui.tests.text.contentassist.CompletionProposalsBaseTest;
+
+/**
+ * @author hamer
+ *
+ * Testing Exception_Reference, with No prefix
+ * Bug#50640 : Wrong completion kind when expecting an exception
+ *
+ */
+public class CompletionFailedTest_ExceptionReference_NoPrefix_Bug50640 extends CompletionProposalsBaseTest{
+
+ private final String fileName = "CompletionFailedTestStart10.cpp";
+ private final String fileFullPath ="resources/contentassist/failedtests/" + fileName;
+ private final String headerFileName = "CompletionTestStart.h";
+ private final String headerFileFullPath ="resources/contentassist/" + headerFileName;
+ private final String expectedScopeName = "ASTCodeScope"; // should be "ASTMethod";
+ private final String expectedContextName = "null";
+ private final CompletionKind expectedKind = CompletionKind.STATEMENT_START; // should be CompletionKind.EXCEPTION_REFERENCE ;
+ private final String expectedPrefix = "";
+ private final String[] expectedResults = {
+// Should be
+// "aClass",
+// "anotherClass",
+// "aNamespace",
+// "anEnumeration",
+// "AStruct",
+// "..."
+ };
+
+ public CompletionFailedTest_ExceptionReference_NoPrefix_Bug50640(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ TestSuite suite= new TestSuite(CompletionFailedTest_ExceptionReference_NoPrefix_Bug50640.class.getName());
+ suite.addTest(new CompletionFailedTest_ExceptionReference_NoPrefix_Bug50640("testCompletionProposals"));
+ return suite;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getCompletionPosition()
+ */
+ protected int getCompletionPosition() {
+ return getBuffer().indexOf(" ") + 2;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedScope()
+ */
+ protected String getExpectedScopeClassName() {
+ return expectedScopeName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedContext()
+ */
+ protected String getExpectedContextClassName() {
+ return expectedContextName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedKind()
+ */
+ protected CompletionKind getExpectedKind() {
+ return expectedKind;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedPrefix()
+ */
+ protected String getExpectedPrefix() {
+ return expectedPrefix;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedResultsValues()
+ */
+ protected String[] getExpectedResultsValues() {
+ return expectedResults;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileName()
+ */
+ protected String getFileName() {
+ return fileName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileFullPath()
+ */
+ protected String getFileFullPath() {
+ return fileFullPath;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileFullPath()
+ */
+ protected String getHeaderFileFullPath() {
+ return headerFileFullPath;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileName()
+ */
+ protected String getHeaderFileName() {
+ return headerFileName;
+ }
+
+}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ExceptionReference_Prefix_Bug50640.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ExceptionReference_Prefix_Bug50640.java
new file mode 100644
index 00000000000..08e0b0795b0
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionFailedTest_ExceptionReference_Prefix_Bug50640.java
@@ -0,0 +1,125 @@
+/**********************************************************************
+ * Copyright (c) 2004 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.ui.tests.text.contentassist.failedtests;
+
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind;
+import org.eclipse.cdt.ui.tests.text.contentassist.CompletionProposalsBaseTest;
+
+/**
+ * @author hamer
+ *
+ * Testing Exception_Reference, with prefix
+ * Bug#50640 : Wrong completion kind when expecting an exception
+ *
+ */
+public class CompletionFailedTest_ExceptionReference_Prefix_Bug50640 extends CompletionProposalsBaseTest{
+
+ private final String fileName = "CompletionFailedTestStart9.cpp";
+ private final String fileFullPath ="resources/contentassist/failedtests/" + fileName;
+ private final String headerFileName = "CompletionTestStart.h";
+ private final String headerFileFullPath ="resources/contentassist/" + headerFileName;
+ private final String expectedScopeName = "ASTMethod";
+ private final String expectedContextName = "null";
+ private final CompletionKind expectedKind = CompletionKind.SINGLE_NAME_REFERENCE; // should be CompletionKind.EXCEPTION_REFERENCE ;
+ private final String expectedPrefix = "a";
+ private final String[] expectedResults = {
+// Should be
+// "aClass",
+// "anotherClass",
+// "aNamespace",
+// "anEnumeration",
+// "AStruct"
+ };
+
+ public CompletionFailedTest_ExceptionReference_Prefix_Bug50640(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ TestSuite suite= new TestSuite(CompletionFailedTest_ExceptionReference_Prefix_Bug50640.class.getName());
+ suite.addTest(new CompletionFailedTest_ExceptionReference_Prefix_Bug50640("testCompletionProposals"));
+ return suite;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getCompletionPosition()
+ */
+ protected int getCompletionPosition() {
+ return getBuffer().indexOf(" a ") + 2;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedScope()
+ */
+ protected String getExpectedScopeClassName() {
+ return expectedScopeName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedContext()
+ */
+ protected String getExpectedContextClassName() {
+ return expectedContextName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedKind()
+ */
+ protected CompletionKind getExpectedKind() {
+ return expectedKind;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedPrefix()
+ */
+ protected String getExpectedPrefix() {
+ return expectedPrefix;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedResultsValues()
+ */
+ protected String[] getExpectedResultsValues() {
+ return expectedResults;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileName()
+ */
+ protected String getFileName() {
+ return fileName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileFullPath()
+ */
+ protected String getFileFullPath() {
+ return fileFullPath;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileFullPath()
+ */
+ protected String getHeaderFileFullPath() {
+ return headerFileFullPath;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileName()
+ */
+ protected String getHeaderFileName() {
+ return headerFileName;
+ }
+
+}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_NoPrefix2_Bug50642.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_NoPrefix2_Bug50642.java
new file mode 100644
index 00000000000..b056c9f72e1
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_NoPrefix2_Bug50642.java
@@ -0,0 +1,116 @@
+/**********************************************************************
+ * Copyright (c) 2004 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.ui.tests.text.contentassist.failedtests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind;
+import org.eclipse.cdt.ui.tests.text.contentassist.CompletionProposalsBaseTest;
+
+/**
+ * @author hamer
+ *
+ * Testing Argument_Type completion kind , with No prefix
+ * Bug#50642 : Wrong completion kind when declaring an argument type
+ *
+ */
+public class CompletionTest_ArgumentType_NoPrefix2_Bug50642 extends CompletionProposalsBaseTest{
+ private final String fileName = "CompletionTestStart19.cpp";
+ private final String fileFullPath ="resources/contentassist/" + fileName;
+ private final String headerFileName = "CompletionTestStart.h";
+ private final String headerFileFullPath ="resources/contentassist/" + headerFileName;
+ private final String expectedScopeName = "ASTClassSpecifier";
+ private final String expectedContextName = "null";
+ private final CompletionKind expectedKind = CompletionKind.FIELD_TYPE; // should be CompletionKind.ARGUMENT_TYPE;
+ private final String expectedPrefix = "";
+ private final String[] expectedResults = {
+ };
+
+ public CompletionTest_ArgumentType_NoPrefix2_Bug50642(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ TestSuite suite= new TestSuite(CompletionTest_ArgumentType_NoPrefix2_Bug50642.class.getName());
+ suite.addTest(new CompletionTest_ArgumentType_NoPrefix2_Bug50642("testCompletionProposals"));
+ return suite;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getCompletionPosition()
+ */
+ protected int getCompletionPosition() {
+ return getBuffer().indexOf(" ") + 2;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedScope()
+ */
+ protected String getExpectedScopeClassName() {
+ return expectedScopeName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedContext()
+ */
+ protected String getExpectedContextClassName() {
+ return expectedContextName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedKind()
+ */
+ protected CompletionKind getExpectedKind() {
+ return expectedKind;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedPrefix()
+ */
+ protected String getExpectedPrefix() {
+ return expectedPrefix;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedResultsValues()
+ */
+ protected String[] getExpectedResultsValues() {
+ return expectedResults;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileName()
+ */
+ protected String getFileName() {
+ return fileName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileFullPath()
+ */
+ protected String getFileFullPath() {
+ return fileFullPath;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileFullPath()
+ */
+ protected String getHeaderFileFullPath() {
+ return headerFileFullPath;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileName()
+ */
+ protected String getHeaderFileName() {
+ return headerFileName;
+ }
+
+}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_NoPrefix_Bug50642.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_NoPrefix_Bug50642.java
new file mode 100644
index 00000000000..1eda49714ee
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_NoPrefix_Bug50642.java
@@ -0,0 +1,117 @@
+/**********************************************************************
+ * Copyright (c) 2004 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.ui.tests.text.contentassist.failedtests;
+
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind;
+import org.eclipse.cdt.ui.tests.text.contentassist.CompletionProposalsBaseTest;
+
+/**
+ * @author hamer
+ *
+ * Testing Argument_Type completion kind , with No prefix
+ * Bug#50642 : Wrong completion kind when declaring an argument type
+ *
+ */
+public class CompletionTest_ArgumentType_NoPrefix_Bug50642 extends CompletionProposalsBaseTest{
+ private final String fileName = "CompletionTestStart17.cpp";
+ private final String fileFullPath ="resources/contentassist/" + fileName;
+ private final String headerFileName = "CompletionTestStart.h";
+ private final String headerFileFullPath ="resources/contentassist/" + headerFileName;
+ private final String expectedScopeName = "ASTCompilationUnit";
+ private final String expectedContextName = "null";
+ private final CompletionKind expectedKind = CompletionKind.VARIABLE_TYPE; // should be CompletionKind.ARGUMENT_TYPE;
+ private final String expectedPrefix = "";
+ private final String[] expectedResults = {
+ };
+
+ public CompletionTest_ArgumentType_NoPrefix_Bug50642(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ TestSuite suite= new TestSuite(CompletionTest_ArgumentType_NoPrefix_Bug50642.class.getName());
+ suite.addTest(new CompletionTest_ArgumentType_NoPrefix_Bug50642("testCompletionProposals"));
+ return suite;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getCompletionPosition()
+ */
+ protected int getCompletionPosition() {
+ return getBuffer().indexOf(" ") + 2;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedScope()
+ */
+ protected String getExpectedScopeClassName() {
+ return expectedScopeName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedContext()
+ */
+ protected String getExpectedContextClassName() {
+ return expectedContextName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedKind()
+ */
+ protected CompletionKind getExpectedKind() {
+ return expectedKind;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedPrefix()
+ */
+ protected String getExpectedPrefix() {
+ return expectedPrefix;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedResultsValues()
+ */
+ protected String[] getExpectedResultsValues() {
+ return expectedResults;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileName()
+ */
+ protected String getFileName() {
+ return fileName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileFullPath()
+ */
+ protected String getFileFullPath() {
+ return fileFullPath;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileFullPath()
+ */
+ protected String getHeaderFileFullPath() {
+ return headerFileFullPath;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileName()
+ */
+ protected String getHeaderFileName() {
+ return headerFileName;
+ }
+
+}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_Prefix2_Bug50642.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_Prefix2_Bug50642.java
new file mode 100644
index 00000000000..bd3db81952a
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_Prefix2_Bug50642.java
@@ -0,0 +1,121 @@
+/**********************************************************************
+ * Copyright (c) 2004 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.ui.tests.text.contentassist.failedtests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind;
+import org.eclipse.cdt.ui.tests.text.contentassist.CompletionProposalsBaseTest;
+
+/**
+ * @author hamer
+ *
+ * Testing Argument_Type completion kind , with a prefix
+ * Bug#50642 : Wrong completion kind when declaring an argument type
+ *
+ */
+public class CompletionTest_ArgumentType_Prefix2_Bug50642 extends CompletionProposalsBaseTest{
+ private final String fileName = "CompletionTestStart18.cpp";
+ private final String fileFullPath ="resources/contentassist/" + fileName;
+ private final String headerFileName = "CompletionTestStart.h";
+ private final String headerFileFullPath ="resources/contentassist/" + headerFileName;
+ private final String expectedScopeName = "ASTClassSpecifier";
+ private final String expectedContextName = "null";
+ private final CompletionKind expectedKind = CompletionKind.FIELD_TYPE; // should be CompletionKind.ARGUMENT_TYPE;
+ private final String expectedPrefix = "a";
+ private final String[] expectedResults = {
+ "aClass",
+ "anotherClass",
+ "aNamespace",
+ "anEnumeration",
+ "AStruct"
+ };
+
+ public CompletionTest_ArgumentType_Prefix2_Bug50642(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ TestSuite suite= new TestSuite(CompletionTest_ArgumentType_Prefix2_Bug50642.class.getName());
+ suite.addTest(new CompletionTest_ArgumentType_Prefix2_Bug50642("testCompletionProposals"));
+ return suite;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getCompletionPosition()
+ */
+ protected int getCompletionPosition() {
+ return getBuffer().indexOf(" a ") + 2;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedScope()
+ */
+ protected String getExpectedScopeClassName() {
+ return expectedScopeName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedContext()
+ */
+ protected String getExpectedContextClassName() {
+ return expectedContextName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedKind()
+ */
+ protected CompletionKind getExpectedKind() {
+ return expectedKind;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedPrefix()
+ */
+ protected String getExpectedPrefix() {
+ return expectedPrefix;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedResultsValues()
+ */
+ protected String[] getExpectedResultsValues() {
+ return expectedResults;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileName()
+ */
+ protected String getFileName() {
+ return fileName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileFullPath()
+ */
+ protected String getFileFullPath() {
+ return fileFullPath;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileFullPath()
+ */
+ protected String getHeaderFileFullPath() {
+ return headerFileFullPath;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileName()
+ */
+ protected String getHeaderFileName() {
+ return headerFileName;
+ }
+
+}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_Prefix_Bug50642.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_Prefix_Bug50642.java
new file mode 100644
index 00000000000..995be0aa25d
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/failedtests/CompletionTest_ArgumentType_Prefix_Bug50642.java
@@ -0,0 +1,121 @@
+/**********************************************************************
+ * Copyright (c) 2004 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.ui.tests.text.contentassist.failedtests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.cdt.core.parser.ast.IASTCompletionNode.CompletionKind;
+import org.eclipse.cdt.ui.tests.text.contentassist.CompletionProposalsBaseTest;
+
+/**
+ * @author hamer
+ *
+ * Testing Argument_Type completion kind , with a prefix
+ * Bug#50642 : Wrong completion kind when declaring an argument type
+ *
+ */
+public class CompletionTest_ArgumentType_Prefix_Bug50642 extends CompletionProposalsBaseTest{
+ private final String fileName = "CompletionTestStart16.cpp";
+ private final String fileFullPath ="resources/contentassist/" + fileName;
+ private final String headerFileName = "CompletionTestStart.h";
+ private final String headerFileFullPath ="resources/contentassist/" + headerFileName;
+ private final String expectedScopeName = "ASTCompilationUnit";
+ private final String expectedContextName = "null";
+ private final CompletionKind expectedKind = CompletionKind.VARIABLE_TYPE; // should be CompletionKind.ARGUMENT_TYPE;
+ private final String expectedPrefix = "a";
+ private final String[] expectedResults = {
+ "aClass",
+ "anotherClass",
+ "aNamespace",
+ "anEnumeration",
+ "AStruct"
+ };
+
+ public CompletionTest_ArgumentType_Prefix_Bug50642(String name) {
+ super(name);
+ }
+
+ public static Test suite() {
+ TestSuite suite= new TestSuite(CompletionTest_ArgumentType_Prefix_Bug50642.class.getName());
+ suite.addTest(new CompletionTest_ArgumentType_Prefix_Bug50642("testCompletionProposals"));
+ return suite;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getCompletionPosition()
+ */
+ protected int getCompletionPosition() {
+ return getBuffer().indexOf(" a ") + 2;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedScope()
+ */
+ protected String getExpectedScopeClassName() {
+ return expectedScopeName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedContext()
+ */
+ protected String getExpectedContextClassName() {
+ return expectedContextName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedKind()
+ */
+ protected CompletionKind getExpectedKind() {
+ return expectedKind;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedPrefix()
+ */
+ protected String getExpectedPrefix() {
+ return expectedPrefix;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getExpectedResultsValues()
+ */
+ protected String[] getExpectedResultsValues() {
+ return expectedResults;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileName()
+ */
+ protected String getFileName() {
+ return fileName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getFileFullPath()
+ */
+ protected String getFileFullPath() {
+ return fileFullPath;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileFullPath()
+ */
+ protected String getHeaderFileFullPath() {
+ return headerFileFullPath;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getHeaderFileName()
+ */
+ protected String getHeaderFileName() {
+ return headerFileName;
+ }
+
+}
diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog
index 0099e725d5a..4d501250537 100644
--- a/core/org.eclipse.cdt.ui/ChangeLog
+++ b/core/org.eclipse.cdt.ui/ChangeLog
@@ -1,3 +1,6 @@
+2004-01-26 Hoda Amer
+ Content Assist Work: More Tuning of Completion Engine
+
2004-01-23 Hoda Amer
Content Assist Work: Tuning of Completion Engine
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionEngine.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionEngine.java
index d2cc3ca9531..d523290afca 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionEngine.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionEngine.java
@@ -484,7 +484,7 @@ public class CompletionEngine implements RelevanceConstants{
kinds[6] = IASTNode.LookupKind.FUNCTIONS;
kinds[7] = IASTNode.LookupKind.LOCAL_VARIABLES;
- result = lookup (searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
+ result = lookup (searchNode, completionNode.getCompletionPrefix(), kinds, null);
addToCompletions (result);
List macros = lookupMacros(completionNode.getCompletionPrefix());
@@ -529,10 +529,11 @@ public class CompletionEngine implements RelevanceConstants{
if(completionNode.getCompletionPrefix().length() > 0 ) {
// 2. Lookup all types that could be used here
ILookupResult result;
- IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[2];
+ IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[3];
kinds[0] = IASTNode.LookupKind.STRUCTURES;
- kinds[1] = IASTNode.LookupKind.ENUMERATIONS;
- result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
+ kinds[1] = IASTNode.LookupKind.ENUMERATIONS;
+ kinds[2] = IASTNode.LookupKind.NAMESPACES;
+ result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, null);
addToCompletions(result);
} else // prefix is empty, we can not look for everything
{
@@ -544,13 +545,6 @@ public class CompletionEngine implements RelevanceConstants{
// 1. basic completion on all types
completionOnTypeReference(completionNode);
// 2. Get the search scope node
- if(completionNode.getCompletionPrefix().length() > 0) {
- IASTScope searchNode = completionNode.getCompletionScope();
- IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[1];
- kinds[0] = IASTNode.LookupKind.NAMESPACES;
- ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
- addToCompletions(result);
- }
// TODO
// 3. provide a template for constructor/ destructor
// 4. lookup methods
@@ -566,14 +560,6 @@ public class CompletionEngine implements RelevanceConstants{
private void completionOnVariableType(IASTCompletionNode completionNode){
// 1. basic completion on all types
completionOnTypeReference(completionNode);
- // look for namespaces only if you have a prefix
- if(completionNode.getCompletionPrefix().length() > 0){
- IASTScope searchNode = completionNode.getCompletionScope();
- IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[1];
- kinds[0] = IASTNode.LookupKind.NAMESPACES;
- ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
- addToCompletions(result);
- }
}
private void completionOnSingleNameReference(IASTCompletionNode completionNode){
@@ -595,7 +581,7 @@ public class CompletionEngine implements RelevanceConstants{
String prefix = completionNode.getCompletionPrefix();
if(prefix.equals("("))
prefix = "";
- ILookupResult result = lookup(searchNode, prefix, kinds, completionNode.getCompletionContext());
+ ILookupResult result = lookup(searchNode, prefix, kinds, null);
addToCompletions(result);
List macros = lookupMacros(completionNode.getCompletionPrefix());
@@ -609,7 +595,7 @@ public class CompletionEngine implements RelevanceConstants{
// only look for classes
IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[1];
kinds[0] = IASTNode.LookupKind.CLASSES;
- ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
+ ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, null);
addToCompletions(result);
}
private void completionOnNamespaceReference(IASTCompletionNode completionNode){
@@ -618,7 +604,7 @@ public class CompletionEngine implements RelevanceConstants{
// only look for namespaces
IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[1];
kinds[0] = IASTNode.LookupKind.NAMESPACES;
- ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
+ ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, null);
addToCompletions(result);
}
private void completionOnExceptionReference(IASTCompletionNode completionNode){
@@ -636,16 +622,14 @@ public class CompletionEngine implements RelevanceConstants{
List result = lookupMacros(completionNode.getCompletionPrefix());
addMacrosToCompletions(result.iterator());
}
- private void completionOnFunctionReference(IASTCompletionNode completionNode){
// TODO: complete the lookups
- }
private void completionOnConstructorReference(IASTCompletionNode completionNode){
// 1. Get the search scope node
IASTScope searchNode = completionNode.getCompletionScope();
// only lookup constructors
IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[1];
kinds[0] = IASTNode.LookupKind.CONSTRUCTORS;
- ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
+ ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, null);
addToCompletions(result);
}
private void completionOnKeyword(IASTCompletionNode completionNode){
@@ -734,10 +718,6 @@ public class CompletionEngine implements RelevanceConstants{
// CompletionOnMacroReference
completionOnMacroReference(completionNode);
}
- else if(kind == CompletionKind.FUNCTION_REFERENCE){
- // completionOnFunctionReference
- completionOnFunctionReference(completionNode);
- }
else if(kind == CompletionKind.CONSTRUCTOR_REFERENCE){
// completionOnConstructorReference
completionOnConstructorReference(completionNode);
@@ -782,8 +762,6 @@ public class CompletionEngine implements RelevanceConstants{
kindStr = "EXCEPTION_REFERENCE";
else if(kind == IASTCompletionNode.CompletionKind.MACRO_REFERENCE)
kindStr = "MACRO_REFERENCE";
- else if(kind == IASTCompletionNode.CompletionKind.FUNCTION_REFERENCE)
- kindStr = "FUNCTION_REFERENCE";
else if(kind == IASTCompletionNode.CompletionKind.CONSTRUCTOR_REFERENCE)
kindStr = "CONSTRUCTOR_REFERENCE";
else if(kind == IASTCompletionNode.CompletionKind.KEYWORD)

Back to the top