From 8c1e3a610314419b973c3005ee7f823d07588e84 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 1 Feb 2017 17:41:21 +0100 Subject: [PATCH] IDEA-165033 Completion should prefer expected enum values over the constants from other enums, even if they're more recently used a test proving it works --- ...referExpectedEnumConstantsDespiteStats.java | 18 ++++++++++++++++++ .../NormalCompletionOrderingTest.groovy | 9 +++++++++ 2 files changed, 27 insertions(+) create mode 100644 java/java-tests/testData/codeInsight/completion/normalSorting/PreferExpectedEnumConstantsDespiteStats.java diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/PreferExpectedEnumConstantsDespiteStats.java b/java/java-tests/testData/codeInsight/completion/normalSorting/PreferExpectedEnumConstantsDespiteStats.java new file mode 100644 index 000000000000..b2e576fa5a14 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normalSorting/PreferExpectedEnumConstantsDespiteStats.java @@ -0,0 +1,18 @@ +package foo; + +import static foo.MyEnum.*; +import static foo.MyEnumX.*; + +public class Foo { + void method(MyEnum e) { } + void methodX(MyEnumX e) { } + + { + method(cons) + } + + +} + +enum MyEnum { const1, const2 } +enum MyEnumX { constx1, constx2 } \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy index d5f4804f3c01..56570d558bfc 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy @@ -273,6 +273,15 @@ class NormalCompletionOrderingTest extends CompletionSortingTestCase { checkPreferredItems(0, "MyEnum.bar", "MyEnum", "MyEnum.foo") } + void testPreferExpectedEnumConstantsDespiteStats() { + checkPreferredItems 0, "const1", "const2", "constx1", "constx2" + myFixture.lookup.currentItem = myFixture.lookupElements[2] + + myFixture.type('\n);\nmethodX(cons') + myFixture.completeBasic() + assertPreferredItems 0, 'constx1', 'constx2', 'const1', 'const2' + } + void testPreferElse() { checkPreferredItems(0, "else", "element") }