diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/AbstractContentAssistTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/AbstractContentAssistTest.java index a696b767845..b0988c88323 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/AbstractContentAssistTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/AbstractContentAssistTest.java @@ -50,7 +50,7 @@ public abstract class AbstractContentAssistTest extends BaseUITestCase { public static final int COMPARE_DISP_STRINGS = 1; public static final int COMPARE_REP_STRINGS = 2; - private ICProject fCProject; + protected ICProject fCProject; private IFile fCFile; protected ITextEditor fEditor; private boolean fIsCpp; diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java index 8be873987d0..a7a4d991d0f 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java @@ -21,6 +21,7 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.testplugin.util.BaseTestCase; +import org.eclipse.cdt.core.testplugin.util.TestSourceReader; /** * A collection of code completion tests. @@ -895,4 +896,30 @@ public class CompletionTests extends AbstractContentAssistTest { final String[] expected= new String[0]; assertCompletionResults(fCursorOffset, expected, AbstractContentAssistTest.COMPARE_REP_STRINGS); } + + + // #ifdef __cplusplus__ + // extern "C" { + // #endif + // void c_linkage(); + // #ifdef __cplusplus__ + // } + // #endif + + // #include "header191315.h" + + // #include "header191315.h" + // void xxx() { c_lin/*cursor*/ + public void testExtenC_bug191315() throws Exception { + StringBuffer[] content= getContentsForTest(3); + createFile(fProject, "header191315.h", content[0].toString()); + createFile(fProject, "source191315.c", content[0].toString()); + createFile(fProject, "source191315.cpp", content[0].toString()); + IFile dfile= createFile(fProject, "header191315.h", content[0].toString()); + TestSourceReader.waitUntilFileIsIndexed(CCorePlugin.getIndexManager().getIndex(fCProject), dfile, 8000); + final String[] expected= { + "c_linkage()" + }; + assertCompletionResults(fCursorOffset, expected, AbstractContentAssistTest.COMPARE_REP_STRINGS); + } } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests_PlainC.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests_PlainC.java index 47fa7d4bc1f..9353283a375 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests_PlainC.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests_PlainC.java @@ -21,6 +21,7 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.testplugin.util.BaseTestCase; +import org.eclipse.cdt.core.testplugin.util.TestSourceReader; /** * Completion tests for plain C. @@ -188,4 +189,29 @@ public class CompletionTests_PlainC extends AbstractContentAssistTest { final String[] expected= new String[0]; assertCompletionResults(expected); } + + // #ifdef __cplusplus__ + // extern "C" { + // #endif + // void c_linkage(); + // #ifdef __cplusplus__ + // } + // #endif + + // #include "header191315.h" + + // #include "header191315.h" + // void xxx() { c_lin/*cursor*/ + public void testExtenC_bug191315() throws Exception { + StringBuffer[] content= getContentsForTest(3); + createFile(fProject, "header191315.h", content[0].toString()); + createFile(fProject, "source191315.c", content[0].toString()); + createFile(fProject, "source191315.cpp", content[0].toString()); + IFile dfile= createFile(fProject, "header191315.h", content[0].toString()); + TestSourceReader.waitUntilFileIsIndexed(CCorePlugin.getIndexManager().getIndex(fCProject), dfile, 8000); + final String[] expected= { + "c_linkage(void)" + }; + assertCompletionResults(expected); + } }