diff --git a/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart40.cpp b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart40.cpp new file mode 100644 index 00000000000..8c8f8cf0ba3 --- /dev/null +++ b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart40.cpp @@ -0,0 +1,7 @@ +#include "CompletionTestStart40.h" + +int var; + + x + +// end \ No newline at end of file diff --git a/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart40.h b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart40.h new file mode 100644 index 00000000000..1593d53835a --- /dev/null +++ b/core/org.eclipse.cdt.ui.tests/resources/contentassist/CompletionTestStart40.h @@ -0,0 +1,61 @@ +#define DEBUG 1 +enum { + aFirstEnum, + aSecondEnum, + aThirdEnum +}; + +enum { + xFirstEnum, + xSecondEnum, + xThirdEnum +}; + +int notAnonymous; +enum notAnonymousEnum {}; +class notAnonymousClass {}; + +struct { + int aStructField; +}; + +struct { + int xStructField; +}; + +union { + int aUnionMember1, aUnionMember2; +}; + +class { +public: + int aField; + float xAClassField; + int aMethod(); + void xAClassMethod(int x); +}; + +class { +public: + int anotherField; + void anotherMethod(); +}; + +class { +public: + xOtherClass(char*); + xOtherClass(int); + int xOtherField; + void xOtherMethod(); + void xOtherMethod(int); +}; + +// namespace { +// void aNamespaceFunction(){ +// } +// }; + +// namespace { +// void xNamespaceFunction(){ +// } +// }; diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_AnonymousTypes.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_AnonymousTypes.java new file mode 100644 index 00000000000..cdd9b6cd509 --- /dev/null +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_AnonymousTypes.java @@ -0,0 +1,86 @@ +/******************************************************************************* + * Copyright (c) 2007 Symbian Software Ltd. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Andrew Ferguson (Symbian) - Initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.ui.tests.text.contentassist2; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * Test that anonymous types are not returned as possibilites + */ +public class CompletionTest_AnonymousTypes extends CompletionProposalsBaseTest{ + private final String fileName = "CompletionTestStart40.cpp"; + private final String fileFullPath ="resources/contentassist/" + fileName; + private final String headerFileName = "CompletionTestStart40.h"; + private final String headerFileFullPath ="resources/contentassist/" + headerFileName; + private final String expectedPrefix = ""; + private final String[] expectedResults = {"notAnonymousEnum", "notAnonymousClass"}; + + public CompletionTest_AnonymousTypes(String name) { + super(name); + // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=174809 + setExpectFailure(174809); + } + + public static Test suite() { + TestSuite suite= new TestSuite(CompletionTest_AnonymousTypes.class.getName()); + suite.addTest(new CompletionTest_AnonymousTypes("testCompletionProposals")); + return suite; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.codeassist.tests.CompletionProposalsTest#getCompletionPosition() + */ + protected int getCompletionPosition() { + return getBuffer().indexOf(" x "); + } + + /* (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/contentassist2/ContentAssist2TestSuite.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/ContentAssist2TestSuite.java index 41375b094d3..039bedf9dc8 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/ContentAssist2TestSuite.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/ContentAssist2TestSuite.java @@ -8,6 +8,7 @@ * Contributors: * Norbert Ploett - Initial implementation * Bryan Wilkinson (QNX) + * Andrew Ferguson (Symbian) *******************************************************************************/ package org.eclipse.cdt.ui.tests.text.contentassist2; @@ -26,6 +27,7 @@ public class ContentAssist2TestSuite extends TestSuite { public ContentAssist2TestSuite() { super("Tests in package org.eclipse.cdt.ui.tests.text.contentassist2"); + addTest(CompletionTest_AnonymousTypes.suite()); addTest(CompletionTest_ArgumentType_Prefix.suite()); addTest(CompletionTest_ArgumentType_Prefix2.suite()); addTest(CompletionTest_ClassReference_NoPrefix.suite());