mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 11:50:54 +07:00
java completion: lambda items should be higher than recently selected items (IDEA-183824)
This commit is contained in:
@@ -40,7 +40,8 @@ public class JavaCompletionStatistician extends CompletionStatistician{
|
||||
|
||||
if (o instanceof PsiLocalVariable || o instanceof PsiParameter ||
|
||||
o instanceof PsiThisExpression || o instanceof PsiKeyword ||
|
||||
element.getUserData(JavaCompletionUtil.SUPER_METHOD_PARAMETERS) != null) {
|
||||
element.getUserData(JavaCompletionUtil.SUPER_METHOD_PARAMETERS) != null ||
|
||||
element.getUserData(FunctionalExpressionCompletionProvider.FUNCTIONAL_EXPR_ITEM) != null) {
|
||||
return StatisticsInfo.EMPTY;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
class Foo {
|
||||
void foo(java.util.stream.Stream<Foo> s) {
|
||||
Stri<caret>
|
||||
}
|
||||
}
|
||||
@@ -315,6 +315,15 @@ class Test88 {
|
||||
myFixture.assertPreferredCompletionItems 0, '(foo, foo2) -> '
|
||||
}
|
||||
|
||||
void testPreferLambdaToRecentSelections() {
|
||||
configureByTestName()
|
||||
myFixture.assertPreferredCompletionItems 0, 'String'
|
||||
myFixture.type('\n str;\n') // select 'String'
|
||||
myFixture.type('s.reduce(')
|
||||
myFixture.completeBasic()
|
||||
myFixture.assertPreferredCompletionItems 0, '(foo, foo2) -> ', 's', 'str', 'String'
|
||||
}
|
||||
|
||||
private checkResultByFileName() {
|
||||
checkResultByFile(getTestName(false) + "_after.java")
|
||||
}
|
||||
|
||||
@@ -16,10 +16,13 @@
|
||||
package com.intellij.java.codeInsight.completion
|
||||
|
||||
import com.intellij.testFramework.LightProjectDescriptor
|
||||
import org.jetbrains.annotations.NotNull
|
||||
|
||||
/**
|
||||
* @author peter
|
||||
*/
|
||||
class NormalCompletionDfaTest extends NormalCompletionTestCase {
|
||||
@NotNull
|
||||
@Override
|
||||
protected LightProjectDescriptor getProjectDescriptor() {
|
||||
return JAVA_8
|
||||
|
||||
@@ -38,9 +38,11 @@ import com.intellij.psi.impl.PsiDocumentManagerBase
|
||||
import com.intellij.testFramework.LightProjectDescriptor
|
||||
import com.intellij.util.ui.UIUtil
|
||||
import com.siyeh.ig.style.UnqualifiedFieldAccessInspection
|
||||
import org.jetbrains.annotations.NotNull
|
||||
|
||||
class NormalCompletionTest extends NormalCompletionTestCase {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected LightProjectDescriptor getProjectDescriptor() {
|
||||
return JAVA_9
|
||||
|
||||
@@ -21,6 +21,8 @@ import com.intellij.codeInsight.lookup.LookupEvent;
|
||||
import com.intellij.codeInsight.lookup.LookupManager;
|
||||
import com.intellij.codeInsight.lookup.impl.LookupImpl;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.statistics.StatisticsManager;
|
||||
import com.intellij.psi.statistics.impl.StatisticsManagerImpl;
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -39,6 +41,12 @@ public abstract class LightFixtureCompletionTestCase extends LightCodeInsightFix
|
||||
return JAVA_1_6;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
((StatisticsManagerImpl)StatisticsManager.getInstance()).enableStatistics(myFixture.getTestRootDisposable());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
try {
|
||||
@@ -98,7 +106,9 @@ public abstract class LightFixtureCompletionTestCase extends LightCodeInsightFix
|
||||
assertOrderedEquals(strings.subList(0, Math.min(items.length, strings.size())), items);
|
||||
}
|
||||
protected void assertStringItems(String... items) {
|
||||
assertOrderedEquals(myFixture.getLookupElementStrings(), items);
|
||||
List<String> strings = myFixture.getLookupElementStrings();
|
||||
assertNotNull(strings);
|
||||
assertOrderedEquals(strings, items);
|
||||
}
|
||||
|
||||
protected void type(String s) {
|
||||
|
||||
Reference in New Issue
Block a user