mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
turn on middle matching in completion tests
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
class C{
|
||||
|
||||
/**
|
||||
* @see #n<caret>
|
||||
* @see #not<caret>
|
||||
*/
|
||||
private int foo(int a, char b, String c) {}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
class C{
|
||||
|
||||
/**
|
||||
* @see #n<caret>
|
||||
* @see #not<caret>
|
||||
*
|
||||
* @since
|
||||
*/
|
||||
|
||||
@@ -110,6 +110,7 @@ public class CompletionStyleTest extends LightCodeInsightTestCase{
|
||||
|
||||
configureByFile(path + "/before3.java");
|
||||
performSmartCompletion();
|
||||
select(Lookup.NORMAL_SELECT_CHAR, 0);
|
||||
checkResultByFile(path + "/after3.java");
|
||||
}
|
||||
|
||||
|
||||
+1297
-1293
File diff suppressed because it is too large
Load Diff
+232
-232
@@ -1,232 +1,232 @@
|
||||
package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.CodeInsightSettings;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInspection.javaDoc.JavaDocLocalInspection;
|
||||
import com.intellij.lang.StdLanguages;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.PsiReferenceBase;
|
||||
import com.intellij.psi.PsiReferenceProvider;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.impl.source.resolve.reference.PsiReferenceRegistrarImpl;
|
||||
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
|
||||
import com.intellij.psi.javadoc.PsiDocTag;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.ProcessingContext;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @author mike
|
||||
*/
|
||||
public class JavadocCompletionTest extends LightFixtureCompletionTestCase {
|
||||
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return JavaTestUtil.getRelativeJavaTestDataPath() + "/codeInsight/completion/javadoc/";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
myFixture.enableInspections(new JavaDocLocalInspection());
|
||||
}
|
||||
|
||||
public void testNamesInClass() throws Exception {
|
||||
configureByFile("ClassTagName.java");
|
||||
assertStringItems("author", "deprecated", "param", "see", "serial", "since", "version");
|
||||
}
|
||||
|
||||
public void testNamesInField() throws Exception {
|
||||
configureByFile("FieldTagName.java");
|
||||
assertStringItems("deprecated", "see", "serial", "serialField", "since");
|
||||
}
|
||||
|
||||
public void testNamesInMethod0() throws Exception {
|
||||
configureByFile("MethodTagName0.java");
|
||||
assertStringItems("deprecated", "exception", "param", "return", "see", "serialData", "since", "throws");
|
||||
}
|
||||
|
||||
public void testNamesInMethod1() throws Exception {
|
||||
configureByFile("MethodTagName1.java");
|
||||
assertStringItems("see", "serialData", "since");
|
||||
}
|
||||
|
||||
public void testParamValueCompletion() throws Exception {
|
||||
configureByFile("ParamValue0.java");
|
||||
assertStringItems("a", "b", "c");
|
||||
}
|
||||
|
||||
public void testParamValueWithPrefixCompletion() throws Exception {
|
||||
configureByFile("ParamValue1.java");
|
||||
assertStringItems("a1", "a2", "a3");
|
||||
}
|
||||
|
||||
public void testDescribedParameters() throws Exception {
|
||||
configureByFile("ParamValue2.java");
|
||||
assertStringItems("a2", "a3");
|
||||
}
|
||||
|
||||
public void testSee0() throws Exception {
|
||||
configureByFile("See0.java");
|
||||
assertStringItems("foo", "clone", "equals", "getClass", "hashCode", "notify", "notifyAll", "Object", "toString", "wait", "wait", "wait", "finalize", "registerNatives");
|
||||
}
|
||||
|
||||
public void testSee1() throws Exception {
|
||||
configureByFile("See1.java");
|
||||
assertStringItems("notify", "notifyAll");
|
||||
}
|
||||
|
||||
public void testSee2() throws Exception {
|
||||
configureByFile("See2.java");
|
||||
assertStringItems("notify", "notifyAll");
|
||||
}
|
||||
|
||||
public void testSee3() throws Exception {
|
||||
configureByFile("See3.java");
|
||||
|
||||
assertTrue(getLookupElementStrings().containsAll(Arrays.asList("foo", "myField")));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<String> getLookupElementStrings() {
|
||||
return ObjectUtils.assertNotNull(myFixture.getLookupElementStrings());
|
||||
}
|
||||
|
||||
public void testSee4() throws Exception {
|
||||
configureByFile("See4.java");
|
||||
|
||||
assertTrue(getLookupElementStrings().containsAll(Arrays.asList("A", "B", "C")));
|
||||
}
|
||||
|
||||
public void testSee5() throws Exception {
|
||||
configureByFile("See5.java");
|
||||
|
||||
assertTrue(getLookupElementStrings().containsAll(Arrays.asList("foo", "myName")));
|
||||
}
|
||||
|
||||
public void testIDEADEV10620() throws Exception {
|
||||
configureByFile("IDEADEV10620.java");
|
||||
|
||||
checkResultByFile("IDEADEV10620-after.java");
|
||||
}
|
||||
|
||||
public void testException0() throws Exception {
|
||||
configureByFile("Exception0.java");
|
||||
assertStringItems("deprecated", "exception", "param", "see", "serialData", "since", "throws");
|
||||
}
|
||||
|
||||
public void testException1() throws Exception {
|
||||
configureByFile("Exception1.java");
|
||||
assertTrue(myItems.length > 18);
|
||||
}
|
||||
|
||||
public void testException2() throws Exception {
|
||||
myFixture.configureByFile("Exception2.java");
|
||||
myFixture.complete(CompletionType.SMART);
|
||||
assertStringItems("IllegalStateException", "IOException");
|
||||
}
|
||||
|
||||
public void testInlineLookup() throws Exception {
|
||||
configureByFile("InlineTagName.java");
|
||||
assertStringItems("code", "docRoot", "inheritDoc", "link", "linkplain", "literal", "value");
|
||||
}
|
||||
|
||||
public void testFinishWithSharp() throws Throwable {
|
||||
boolean old = CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CODE_COMPLETION;
|
||||
CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CODE_COMPLETION = false;
|
||||
try {
|
||||
checkFinishWithSharp();
|
||||
}
|
||||
finally {
|
||||
CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CODE_COMPLETION = old;
|
||||
}
|
||||
}
|
||||
|
||||
private void checkFinishWithSharp() throws Exception {
|
||||
myFixture.configureByFile("FinishWithSharp.java");
|
||||
myFixture.completeBasic();
|
||||
type('#');
|
||||
checkResultByFile("FinishWithSharp_after.java");
|
||||
final List<LookupElement> items = getLookup().getItems();
|
||||
assertEquals("bar", items.get(0).getLookupString());
|
||||
assertEquals("foo", items.get(1).getLookupString());
|
||||
}
|
||||
|
||||
public void testShortenClassName() throws Throwable {
|
||||
CodeStyleSettingsManager.getSettings(getProject()).USE_FQ_CLASS_NAMES_IN_JAVADOC = false;
|
||||
try {
|
||||
doTest();
|
||||
}
|
||||
finally {
|
||||
CodeStyleSettingsManager.getSettings(getProject()).USE_FQ_CLASS_NAMES_IN_JAVADOC = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void testMethodBeforeSharp() throws Throwable {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testFieldReferenceInInnerClassJavadoc() throws Throwable {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testShortenClassReference() throws Throwable { doTest(); }
|
||||
public void testQualifiedClassReference() throws Throwable {
|
||||
configureByFile(getTestName(false) + ".java");
|
||||
myFixture.complete(CompletionType.BASIC, 2);
|
||||
checkResultByFile(getTestName(false) + "_after.java");
|
||||
}
|
||||
public void testThrowsNonImported() throws Throwable {
|
||||
configureByFile(getTestName(false) + ".java");
|
||||
myFixture.complete(CompletionType.BASIC, 2);
|
||||
checkResultByFile(getTestName(false) + "_after.java");
|
||||
}
|
||||
|
||||
private void doTest() throws Exception {
|
||||
configureByFile(getTestName(false) + ".java");
|
||||
checkResultByFile(getTestName(false) + "_after.java");
|
||||
}
|
||||
|
||||
public void testInlinePackageReferenceCompletion() throws Exception {
|
||||
configureByFile("InlineReference.java");
|
||||
assertTrue(getLookupElementStrings().containsAll(Arrays.asList("io", "lang", "util")));
|
||||
}
|
||||
|
||||
public void testCustomReferenceProvider() throws Exception {
|
||||
PsiReferenceRegistrarImpl registrar =
|
||||
(PsiReferenceRegistrarImpl) ReferenceProvidersRegistry.getInstance().getRegistrar(StdLanguages.JAVA);
|
||||
PsiReferenceProvider provider = new PsiReferenceProvider() {
|
||||
@Override
|
||||
@NotNull
|
||||
public PsiReference[] getReferencesByElement(@NotNull final PsiElement element, @NotNull final ProcessingContext context) {
|
||||
return new PsiReference[]{new PsiReferenceBase<PsiElement>(element) {
|
||||
|
||||
@Override
|
||||
public PsiElement resolve() {
|
||||
return element;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public Object[] getVariants() {
|
||||
return new Object[]{"1", "2", "3"};
|
||||
}
|
||||
}};
|
||||
}
|
||||
};
|
||||
try {
|
||||
registrar.registerReferenceProvider(PsiDocTag.class, provider);
|
||||
configureByFile("ReferenceProvider.java");
|
||||
assertStringItems("1", "2", "3");
|
||||
}
|
||||
finally {
|
||||
registrar.unregisterReferenceProvider(PsiDocTag.class, provider);
|
||||
}
|
||||
}
|
||||
}
|
||||
package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.CodeInsightSettings;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInspection.javaDoc.JavaDocLocalInspection;
|
||||
import com.intellij.lang.StdLanguages;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.PsiReferenceBase;
|
||||
import com.intellij.psi.PsiReferenceProvider;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.impl.source.resolve.reference.PsiReferenceRegistrarImpl;
|
||||
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
|
||||
import com.intellij.psi.javadoc.PsiDocTag;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.ProcessingContext;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @author mike
|
||||
*/
|
||||
public class JavadocCompletionTest extends LightFixtureCompletionTestCase {
|
||||
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return JavaTestUtil.getRelativeJavaTestDataPath() + "/codeInsight/completion/javadoc/";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
myFixture.enableInspections(new JavaDocLocalInspection());
|
||||
}
|
||||
|
||||
public void testNamesInClass() throws Exception {
|
||||
configureByFile("ClassTagName.java");
|
||||
assertStringItems("author", "deprecated", "param", "see", "serial", "since", "version");
|
||||
}
|
||||
|
||||
public void testNamesInField() throws Exception {
|
||||
configureByFile("FieldTagName.java");
|
||||
assertStringItems("deprecated", "see", "serial", "serialField", "since");
|
||||
}
|
||||
|
||||
public void testNamesInMethod0() throws Exception {
|
||||
configureByFile("MethodTagName0.java");
|
||||
assertStringItems("deprecated", "exception", "param", "return", "see", "serialData", "since", "throws");
|
||||
}
|
||||
|
||||
public void testNamesInMethod1() throws Exception {
|
||||
configureByFile("MethodTagName1.java");
|
||||
assertStringItems("see", "serialData", "since", "class", "throws");
|
||||
}
|
||||
|
||||
public void testParamValueCompletion() throws Exception {
|
||||
configureByFile("ParamValue0.java");
|
||||
assertStringItems("a", "b", "c");
|
||||
}
|
||||
|
||||
public void testParamValueWithPrefixCompletion() throws Exception {
|
||||
configureByFile("ParamValue1.java");
|
||||
assertStringItems("a1", "a2", "a3");
|
||||
}
|
||||
|
||||
public void testDescribedParameters() throws Exception {
|
||||
configureByFile("ParamValue2.java");
|
||||
assertStringItems("a2", "a3");
|
||||
}
|
||||
|
||||
public void testSee0() throws Exception {
|
||||
configureByFile("See0.java");
|
||||
assertStringItems("foo", "clone", "equals", "getClass", "hashCode", "notify", "notifyAll", "Object", "toString", "wait", "wait", "wait", "finalize", "registerNatives");
|
||||
}
|
||||
|
||||
public void testSee1() throws Exception {
|
||||
configureByFile("See1.java");
|
||||
assertStringItems("notify", "notifyAll");
|
||||
}
|
||||
|
||||
public void testSee2() throws Exception {
|
||||
configureByFile("See2.java");
|
||||
assertStringItems("notify", "notifyAll");
|
||||
}
|
||||
|
||||
public void testSee3() throws Exception {
|
||||
configureByFile("See3.java");
|
||||
|
||||
assertTrue(getLookupElementStrings().containsAll(Arrays.asList("foo", "myField")));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<String> getLookupElementStrings() {
|
||||
return ObjectUtils.assertNotNull(myFixture.getLookupElementStrings());
|
||||
}
|
||||
|
||||
public void testSee4() throws Exception {
|
||||
configureByFile("See4.java");
|
||||
|
||||
assertTrue(getLookupElementStrings().containsAll(Arrays.asList("A", "B", "C")));
|
||||
}
|
||||
|
||||
public void testSee5() throws Exception {
|
||||
configureByFile("See5.java");
|
||||
|
||||
assertTrue(getLookupElementStrings().containsAll(Arrays.asList("foo", "myName")));
|
||||
}
|
||||
|
||||
public void testIDEADEV10620() throws Exception {
|
||||
configureByFile("IDEADEV10620.java");
|
||||
|
||||
checkResultByFile("IDEADEV10620-after.java");
|
||||
}
|
||||
|
||||
public void testException0() throws Exception {
|
||||
configureByFile("Exception0.java");
|
||||
assertStringItems("deprecated", "exception", "param", "see", "serialData", "since", "throws");
|
||||
}
|
||||
|
||||
public void testException1() throws Exception {
|
||||
configureByFile("Exception1.java");
|
||||
assertTrue(myItems.length > 18);
|
||||
}
|
||||
|
||||
public void testException2() throws Exception {
|
||||
myFixture.configureByFile("Exception2.java");
|
||||
myFixture.complete(CompletionType.SMART);
|
||||
assertStringItems("IllegalStateException", "IOException");
|
||||
}
|
||||
|
||||
public void testInlineLookup() throws Exception {
|
||||
configureByFile("InlineTagName.java");
|
||||
assertStringItems("code", "docRoot", "inheritDoc", "link", "linkplain", "literal", "value");
|
||||
}
|
||||
|
||||
public void testFinishWithSharp() throws Throwable {
|
||||
boolean old = CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CODE_COMPLETION;
|
||||
CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CODE_COMPLETION = false;
|
||||
try {
|
||||
checkFinishWithSharp();
|
||||
}
|
||||
finally {
|
||||
CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CODE_COMPLETION = old;
|
||||
}
|
||||
}
|
||||
|
||||
private void checkFinishWithSharp() throws Exception {
|
||||
myFixture.configureByFile("FinishWithSharp.java");
|
||||
myFixture.completeBasic();
|
||||
type('#');
|
||||
checkResultByFile("FinishWithSharp_after.java");
|
||||
final List<LookupElement> items = getLookup().getItems();
|
||||
assertEquals("bar", items.get(0).getLookupString());
|
||||
assertEquals("foo", items.get(1).getLookupString());
|
||||
}
|
||||
|
||||
public void testShortenClassName() throws Throwable {
|
||||
CodeStyleSettingsManager.getSettings(getProject()).USE_FQ_CLASS_NAMES_IN_JAVADOC = false;
|
||||
try {
|
||||
doTest();
|
||||
}
|
||||
finally {
|
||||
CodeStyleSettingsManager.getSettings(getProject()).USE_FQ_CLASS_NAMES_IN_JAVADOC = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void testMethodBeforeSharp() throws Throwable {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testFieldReferenceInInnerClassJavadoc() throws Throwable {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testShortenClassReference() throws Throwable { doTest(); }
|
||||
public void testQualifiedClassReference() throws Throwable {
|
||||
configureByFile(getTestName(false) + ".java");
|
||||
myFixture.complete(CompletionType.BASIC, 2);
|
||||
checkResultByFile(getTestName(false) + "_after.java");
|
||||
}
|
||||
public void testThrowsNonImported() throws Throwable {
|
||||
configureByFile(getTestName(false) + ".java");
|
||||
myFixture.complete(CompletionType.BASIC, 2);
|
||||
checkResultByFile(getTestName(false) + "_after.java");
|
||||
}
|
||||
|
||||
private void doTest() throws Exception {
|
||||
configureByFile(getTestName(false) + ".java");
|
||||
checkResultByFile(getTestName(false) + "_after.java");
|
||||
}
|
||||
|
||||
public void testInlinePackageReferenceCompletion() throws Exception {
|
||||
configureByFile("InlineReference.java");
|
||||
assertTrue(getLookupElementStrings().containsAll(Arrays.asList("io", "lang", "util")));
|
||||
}
|
||||
|
||||
public void testCustomReferenceProvider() throws Exception {
|
||||
PsiReferenceRegistrarImpl registrar =
|
||||
(PsiReferenceRegistrarImpl) ReferenceProvidersRegistry.getInstance().getRegistrar(StdLanguages.JAVA);
|
||||
PsiReferenceProvider provider = new PsiReferenceProvider() {
|
||||
@Override
|
||||
@NotNull
|
||||
public PsiReference[] getReferencesByElement(@NotNull final PsiElement element, @NotNull final ProcessingContext context) {
|
||||
return new PsiReference[]{new PsiReferenceBase<PsiElement>(element) {
|
||||
|
||||
@Override
|
||||
public PsiElement resolve() {
|
||||
return element;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public Object[] getVariants() {
|
||||
return new Object[]{"1", "2", "3"};
|
||||
}
|
||||
}};
|
||||
}
|
||||
};
|
||||
try {
|
||||
registrar.registerReferenceProvider(PsiDocTag.class, provider);
|
||||
configureByFile("ReferenceProvider.java");
|
||||
assertStringItems("1", "2", "3");
|
||||
}
|
||||
finally {
|
||||
registrar.unregisterReferenceProvider(PsiDocTag.class, provider);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+122
-113
@@ -1,114 +1,123 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
/**
|
||||
* @author ik
|
||||
* @since 20.02.2003
|
||||
*/
|
||||
public class KeywordCompletionTest extends LightCompletionTestCase {
|
||||
private static final String BASE_PATH = "/codeInsight/completion/keywords";
|
||||
|
||||
private static final String[] FILE_SCOPE_KEYWORDS = new String[]{
|
||||
"package", "public", "private", "import", "final", "class", "interface", "abstract", "enum", null};
|
||||
private static final String[] CLASS_SCOPE_KEYWORDS = new String[]{
|
||||
"public", "private", "protected", "import", "final", "class", "interface", "abstract", "enum", null};
|
||||
private static final String[] CLASS_SCOPE_KEYWORDS_2 = new String[]{
|
||||
"package", "public", "private", "protected", "transient", "volatile", "static", "import", "final", "class", "interface", "abstract"};
|
||||
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
return JavaTestUtil.getJavaTestDataPath();
|
||||
}
|
||||
|
||||
public void testFileScope1() throws Exception { doTest(8, FILE_SCOPE_KEYWORDS); }
|
||||
public void testFileScope2() throws Exception { doTest(7, CLASS_SCOPE_KEYWORDS); }
|
||||
public void testClassScope1() throws Exception { doTest(5, CLASS_SCOPE_KEYWORDS); }
|
||||
public void testClassScope2() throws Exception { doTest(4, CLASS_SCOPE_KEYWORDS); }
|
||||
public void testClassScope3() throws Exception { doTest(0, CLASS_SCOPE_KEYWORDS); }
|
||||
public void testClassScope4() throws Exception { doTest(10, CLASS_SCOPE_KEYWORDS_2); }
|
||||
public void testAfterAnnotations() throws Exception { doTest(6, "public", "final", "class", "interface", "abstract", "enum", null); }
|
||||
public void testExtends1() throws Exception { doTest(2, "extends", "implements", null); }
|
||||
public void testExtends2() throws Exception { doTest(1, "extends", "implements", "AAA", "BBB", "instanceof"); }
|
||||
public void testExtends3() throws Exception { doTest(2, "extends", "implements", "AAA", "BBB", "CCC", "instanceof"); }
|
||||
public void testExtends4() throws Exception { doTest(2, "extends", "implements", "AAA", "BBB", "CCC", "instanceof"); }
|
||||
public void testExtends5() throws Exception { doTest(1, "extends", "implements", "AAA", "BBB", "CCC", "instanceof"); }
|
||||
public void testExtends6() throws Exception { doTest(1, "extends", "implements", "AAA", "BBB", "CCC", "instanceof"); }
|
||||
public void testExtends7() throws Exception { doTest(false); }
|
||||
public void testExtends8() throws Exception { doTest(false); }
|
||||
public void testExtends9() throws Exception { doTest(false); }
|
||||
public void testExtends10() throws Exception { doTest(false); }
|
||||
public void testExtends11() throws Exception { doTest(false); }
|
||||
public void testExtends12() throws Exception { doTest(false); }
|
||||
public void testSynchronized1() throws Exception { doTest(false); }
|
||||
|
||||
public void testSynchronized2() throws Exception {
|
||||
CodeStyleSettingsManager.getSettings(getProject()).SPACE_BEFORE_SYNCHRONIZED_PARENTHESES = false;
|
||||
doTest(false);
|
||||
}
|
||||
|
||||
public void testMethodScope1() throws Exception { doTest(1, "throws"); }
|
||||
public void testMethodScope2() throws Exception { doTest(1, "final", "public", "static", "volatile", "abstract"); }
|
||||
public void testMethodScope3() throws Exception { doTest(1, "final", "public", "static", "volatile", "abstract", "throws", "instanceof"); }
|
||||
public void testMethodScope4() throws Exception { doTest(6, "final", "try", "for", "while", "return", "throw"); }
|
||||
public void testMethodScope5() throws Exception { doTest(false); }
|
||||
public void testExtraBracketAfterFinally1() throws Exception { doTest(true); }
|
||||
public void testExtraBracketAfterFinally2() throws Exception { doTest(true); }
|
||||
public void testExtendsInCastTypeParameters() throws Exception { doTest(false); }
|
||||
public void testExtendsWithRightContextInClassTypeParameters() throws Exception { doTest(false); }
|
||||
public void testTrueInVariableDeclaration() throws Exception { doTest(false); }
|
||||
public void testNullInIf() throws Exception { doTest(false); }
|
||||
public void testNullInReturn() throws Exception { doTest(false); }
|
||||
public void testExtendsInMethodParameters() throws Exception { doTest(false); }
|
||||
public void testInstanceOf1() throws Exception { doTest(false); }
|
||||
public void testInstanceOf2() throws Exception { doTest(false); }
|
||||
public void testInstanceOf3() throws Exception { doTest(false); }
|
||||
public void testCatchFinally() throws Exception { doTest(2, "catch", "finally"); }
|
||||
public void testSuper1() throws Exception { doTest(1, "super"); }
|
||||
public void testSuper2() throws Exception { doTest(0, "super"); }
|
||||
public void testContinue() throws Exception { doTest(false); }
|
||||
public void testThrowsOnSeparateLine() throws Exception { doTest(false); }
|
||||
public void testDefaultInAnno() throws Exception { doTest(false); }
|
||||
public void testDefaultInExtMethod() throws Exception { doTest(false); }
|
||||
public void testNullInMethodCall() throws Exception { doTest(false); }
|
||||
public void testNullInMethodCall2() throws Exception { doTest(false); }
|
||||
public void testNewInMethodRefs() throws Exception { doTest(false); }
|
||||
public void testAbstractInInterface() throws Exception { doTest(1, "abstract"); }
|
||||
public void testCharInAnnotatedParameter() throws Exception { doTest(1, "char"); }
|
||||
public void testReturnInTernary() throws Exception { doTest(1, "return"); }
|
||||
|
||||
public void testTryInExpression() throws Exception {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(true) + ".java");
|
||||
assertStringItems("toString", "this");
|
||||
}
|
||||
|
||||
private void doTest(boolean select) throws Exception {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(true) + ".java");
|
||||
if (select) {
|
||||
selectItem(myItems[1]);
|
||||
}
|
||||
checkResultByFile(BASE_PATH + "/" + getTestName(true) + "_after.java");
|
||||
}
|
||||
|
||||
protected void doTest(int finalCount, @NonNls String... values) {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(true) + ".java");
|
||||
testByCount(finalCount, values);
|
||||
}
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
/**
|
||||
* @author ik
|
||||
* @since 20.02.2003
|
||||
*/
|
||||
public class KeywordCompletionTest extends LightCompletionTestCase {
|
||||
private static final String BASE_PATH = "/codeInsight/completion/keywords";
|
||||
|
||||
private static final String[] FILE_SCOPE_KEYWORDS = new String[]{
|
||||
"package", "public", "private", "import", "final", "class", "interface", "abstract", "enum", null};
|
||||
private static final String[] CLASS_SCOPE_KEYWORDS = new String[]{
|
||||
"public", "private", "protected", "import", "final", "class", "interface", "abstract", "enum", null};
|
||||
private static final String[] CLASS_SCOPE_KEYWORDS_2 = new String[]{
|
||||
"package", "public", "private", "protected", "transient", "volatile", "static", "import", "final", "class", "interface", "abstract"};
|
||||
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
return JavaTestUtil.getJavaTestDataPath();
|
||||
}
|
||||
|
||||
public void testFileScope1() throws Exception { doTest(8, FILE_SCOPE_KEYWORDS); }
|
||||
public void testFileScope2() throws Exception { doTest(7, CLASS_SCOPE_KEYWORDS); }
|
||||
public void testClassScope1() throws Exception { doTest(5, CLASS_SCOPE_KEYWORDS); }
|
||||
public void testClassScope2() throws Exception { doTest(4, CLASS_SCOPE_KEYWORDS); }
|
||||
public void testClassScope3() throws Exception { doTest(0, CLASS_SCOPE_KEYWORDS); }
|
||||
public void testClassScope4() throws Exception { doTest(10, CLASS_SCOPE_KEYWORDS_2); }
|
||||
public void testAfterAnnotations() throws Exception { doTest(6, "public", "final", "class", "interface", "abstract", "enum", null); }
|
||||
public void testExtends1() throws Exception { doTest(2, "extends", "implements", null); }
|
||||
public void testExtends2() throws Exception { doTest(1, "extends", "implements", "AAA", "BBB", "instanceof"); }
|
||||
public void testExtends3() throws Exception { doTest(2, "extends", "implements", "AAA", "BBB", "CCC", "instanceof"); }
|
||||
public void testExtends4() throws Exception { doTest(2, "extends", "implements", "AAA", "BBB", "CCC", "instanceof"); }
|
||||
public void testExtends5() throws Exception { doTest(1, "extends", "implements", "AAA", "BBB", "CCC", "instanceof"); }
|
||||
public void testExtends6() throws Exception { doTest(1, "extends", "implements", "AAA", "BBB", "CCC", "instanceof"); }
|
||||
public void testExtends7() throws Exception { doTest(false); }
|
||||
public void testExtends8() throws Exception { doTest(false); }
|
||||
public void testExtends9() throws Exception { doTest(false); }
|
||||
public void testExtends10() throws Exception { doTest(false); }
|
||||
public void testExtends11() throws Exception { doTest(false); }
|
||||
public void testExtends12() throws Exception { doTest(false); }
|
||||
public void testSynchronized1() throws Exception { doTest(false); }
|
||||
|
||||
public void testSynchronized2() throws Exception {
|
||||
CodeStyleSettingsManager.getSettings(getProject()).SPACE_BEFORE_SYNCHRONIZED_PARENTHESES = false;
|
||||
doTest(false);
|
||||
}
|
||||
|
||||
public void testMethodScope1() throws Exception { doTest(1, "throws"); }
|
||||
public void testMethodScope2() throws Exception { doTest(1, "final", "public", "static", "volatile", "abstract"); }
|
||||
public void testMethodScope3() throws Exception { doTest(1, "final", "public", "static", "volatile", "abstract", "throws", "instanceof"); }
|
||||
public void testMethodScope4() throws Exception { doTest(6, "final", "try", "for", "while", "return", "throw"); }
|
||||
public void testMethodScope5() throws Exception { doTest(true); }
|
||||
public void testExtraBracketAfterFinally1() throws Exception {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(true) + ".java");
|
||||
selectItem(myItems[1]);
|
||||
checkResultByFile(BASE_PATH + "/" + getTestName(true) + "_after.java");
|
||||
}
|
||||
public void testExtraBracketAfterFinally2() throws Exception {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(true) + ".java");
|
||||
selectItem(myItems[1]);
|
||||
checkResultByFile(BASE_PATH + "/" + getTestName(true) + "_after.java");
|
||||
}
|
||||
public void testExtendsInCastTypeParameters() throws Exception { doTest(false); }
|
||||
public void testExtendsWithRightContextInClassTypeParameters() throws Exception { doTest(false); }
|
||||
public void testTrueInVariableDeclaration() throws Exception { doTest(true); }
|
||||
public void testNullInIf() throws Exception { doTest(true); }
|
||||
public void testNullInReturn() throws Exception { doTest(true); }
|
||||
public void testExtendsInMethodParameters() throws Exception { doTest(false); }
|
||||
public void testInstanceOf1() throws Exception { doTest(true); }
|
||||
public void testInstanceOf2() throws Exception { doTest(false); }
|
||||
public void testInstanceOf3() throws Exception { doTest(true); }
|
||||
public void testCatchFinally() throws Exception { doTest(2, "catch", "finally"); }
|
||||
public void testSuper1() throws Exception { doTest(1, "super"); }
|
||||
public void testSuper2() throws Exception { doTest(0, "super"); }
|
||||
public void testContinue() throws Exception { doTest(false); }
|
||||
public void testThrowsOnSeparateLine() throws Exception { doTest(true); }
|
||||
public void testDefaultInAnno() throws Exception { doTest(false); }
|
||||
public void testDefaultInExtMethod() throws Exception { doTest(false); }
|
||||
public void testNullInMethodCall() throws Exception { doTest(true); }
|
||||
public void testNullInMethodCall2() throws Exception { doTest(false); }
|
||||
public void testNewInMethodRefs() throws Exception { doTest(false); }
|
||||
public void testAbstractInInterface() throws Exception { doTest(1, "abstract"); }
|
||||
public void testCharInAnnotatedParameter() throws Exception { doTest(1, "char"); }
|
||||
public void testReturnInTernary() throws Exception { doTest(1, "return"); }
|
||||
|
||||
public void testTryInExpression() throws Exception {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(true) + ".java");
|
||||
assertEquals("toString", myItems[0].getLookupString());
|
||||
assertEquals("this", myItems[1].getLookupString());
|
||||
}
|
||||
|
||||
private void doTest(boolean select) throws Exception {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(true) + ".java");
|
||||
if (select) {
|
||||
selectItem(myItems[0]);
|
||||
}
|
||||
checkResultByFile(BASE_PATH + "/" + getTestName(true) + "_after.java");
|
||||
}
|
||||
|
||||
protected void doTest(int finalCount, @NonNls String... values) {
|
||||
configureByFile(BASE_PATH + "/" + getTestName(true) + ".java");
|
||||
testByCount(finalCount, values);
|
||||
}
|
||||
}
|
||||
+1362
-1355
File diff suppressed because it is too large
Load Diff
+7
@@ -2,6 +2,7 @@ package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.CodeInsightSettings;
|
||||
import com.intellij.codeInsight.completion.impl.CamelHumpMatcher;
|
||||
import com.intellij.codeInsight.lookup.*;
|
||||
import com.intellij.codeInsight.lookup.impl.LookupImpl;
|
||||
import com.intellij.testFramework.PlatformTestUtil;
|
||||
@@ -16,6 +17,12 @@ public class SecondSmartTypeCompletionTest extends LightCompletionTestCase {
|
||||
setType(CompletionType.SMART);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
CamelHumpMatcher.forceStartMatching(getTestRootDisposable());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
return JavaTestUtil.getJavaTestDataPath();
|
||||
|
||||
+6
@@ -2,6 +2,7 @@ package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.CodeInsightSettings;
|
||||
import com.intellij.codeInsight.completion.impl.CamelHumpMatcher;
|
||||
import com.intellij.codeInsight.lookup.Lookup;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupElementPresentation;
|
||||
@@ -21,6 +22,11 @@ import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
|
||||
public class SmartTypeCompletionTest extends LightFixtureCompletionTestCase {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
CamelHumpMatcher.forceStartMatching(getTestRootDisposable());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
|
||||
+7
@@ -5,10 +5,17 @@ import com.intellij.JavaTestUtil
|
||||
import com.intellij.ide.highlighter.JavaFileType
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager
|
||||
import com.intellij.codeInsight.completion.impl.CamelHumpMatcher
|
||||
|
||||
public class VariablesCompletionTest extends LightFixtureCompletionTestCase {
|
||||
public static final String FILE_PREFIX = "/codeInsight/completion/variables/";
|
||||
|
||||
@Override
|
||||
protected void setUp() {
|
||||
super.setUp()
|
||||
CamelHumpMatcher.forceStartMatching(getTestRootDisposable());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return JavaTestUtil.getRelativeJavaTestDataPath();
|
||||
|
||||
Reference in New Issue
Block a user