Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java')
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java94
1 files changed, 94 insertions, 0 deletions
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 2d0ab6c3062..ffd6cd8f83b 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
@@ -26,11 +26,15 @@ import junit.framework.Test;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.IDocument;
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.testplugin.TestScannerProvider;
import org.eclipse.cdt.core.testplugin.util.BaseTestCase;
+import org.eclipse.cdt.ui.CUIPlugin;
+
+import org.eclipse.cdt.internal.ui.text.contentassist.ContentAssistPreference;
import static org.eclipse.cdt.ui.tests.text.contentassist2.AbstractContentAssistTest.CompareType.*;
@@ -244,6 +248,20 @@ public class CompletionTests extends AbstractContentAssistTest {
assertContentAssistResults(fCursorOffset, expected, false, CONTEXT);
}
+ private static void setDisplayDefaultArguments(boolean value) {
+ IPreferenceStore preferenceStore = getPreferenceStore();
+ preferenceStore.setValue(ContentAssistPreference.DEFAULT_ARGUMENT_DISPLAY_ARGUMENTS, value);
+ }
+
+ private static void setDisplayDefaultedParameters(boolean value) {
+ IPreferenceStore preferenceStore = getPreferenceStore();
+ preferenceStore.setValue(ContentAssistPreference.DEFAULT_ARGUMENT_DISPLAY_PARAMETERS_WITH_DEFAULT_ARGUMENT, value);
+ }
+
+ private static IPreferenceStore getPreferenceStore() {
+ return CUIPlugin.getDefault().getPreferenceStore();
+ }
+
//void gfunc() {C1 v; v.m/*cursor*/
public void testLocalVariable() throws Exception {
final String[] expected= {
@@ -1415,4 +1433,80 @@ public class CompletionTests extends AbstractContentAssistTest {
final String[] expectedID = { "C1", "C2", "C3" };
assertContentAssistResults(fCursorOffset, expectedID, true, ID);
}
+
+ // void default_argument(int i = 23) {
+ // default_arg/*cursor*/
+ // }
+ public void testDefaultFunctionArgument() throws Exception {
+ setDisplayDefaultedParameters(true);
+ setDisplayDefaultArguments(true);
+ final String[] expectedDisplay = { "default_argument(int i = 23) : void" };
+ assertContentAssistResults(fCursorOffset, expectedDisplay, true, DISPLAY);
+ final String[] expectedReplacement = { "default_argument()" };
+ assertContentAssistResults(fCursorOffset, expectedReplacement, true, REPLACEMENT);
+ }
+
+ // void default_argument(int i = 23) {
+ // default_arg/*cursor*/
+ // }
+ public void testNoDefaultFunctionArgument() throws Exception {
+ setDisplayDefaultedParameters(true);
+ setDisplayDefaultArguments(false);
+ final String[] expectedDisplay = { "default_argument(int i) : void" };
+ assertContentAssistResults(fCursorOffset, expectedDisplay, true, DISPLAY);
+ }
+
+ // void default_argument(int i = 23) {
+ // default_arg/*cursor*/
+ // }
+ public void testNoDefaultFunctionParameter() throws Exception {
+ setDisplayDefaultedParameters(false);
+ setDisplayDefaultArguments(false);
+ final String[] expectedDisplay = { "default_argument() : void" };
+ assertContentAssistResults(fCursorOffset, expectedDisplay, true, DISPLAY);
+ }
+
+ // template<typename T = int>
+ // struct default_argument {};
+ // default_arg/*cursor*/
+ public void testDefaultTemplateArgument() throws Exception {
+ setDisplayDefaultedParameters(true);
+ setDisplayDefaultArguments(true);
+ final String[] expectedDisplay = { "default_argument<typename T = int>" };
+ assertContentAssistResults(fCursorOffset, expectedDisplay, true, DISPLAY);
+ final String[] expectedReplacement = { "default_argument<>" };
+ assertContentAssistResults(fCursorOffset, expectedReplacement, true, REPLACEMENT);
+ }
+
+ // template<typename T = int>
+ // struct default_argument {};
+ // default_arg/*cursor*/
+ public void testNoDefaultTemplateArgument() throws Exception {
+ setDisplayDefaultedParameters(true);
+ setDisplayDefaultArguments(false);
+ final String[] expectedDisplay = { "default_argument<typename T>" };
+ assertContentAssistResults(fCursorOffset, expectedDisplay, true, DISPLAY);
+ }
+
+ // template<typename T = int>
+ // struct default_argument {};
+ // default_arg/*cursor*/
+ public void testNoDefaultTemplateParameter() throws Exception {
+ setDisplayDefaultedParameters(false);
+ setDisplayDefaultArguments(false);
+ final String[] expectedDisplay = { "default_argument<>" };
+ assertContentAssistResults(fCursorOffset, expectedDisplay, true, DISPLAY);
+ }
+
+ // template<typename T>
+ // struct tpl {};
+ // template<typename T1, typename T2 = tpl<T1>>
+ // struct other_tpl {};
+ // other_tpl/*cursor*/
+ public void testDefaultTemplateTemplateArgument() throws Exception {
+ setDisplayDefaultedParameters(true);
+ setDisplayDefaultArguments(true);
+ final String[] expectedDisplay = { "other_tpl<typename T1, typename T2 = tpl<T1>>" };
+ assertContentAssistResults(fCursorOffset, expectedDisplay, true, DISPLAY);
+ }
}

Back to the top