From a883cc2140acc2e123bbd71334e9109b579a5a3d Mon Sep 17 00:00:00 2001 From: Mikhail Pyltsin Date: Thu, 6 Feb 2025 13:28:13 +0100 Subject: [PATCH] [java-import] IDEA-366927 and IDEA-366926 improve auto-import - improve tests GitOrigin-RevId: 0689eff2477a06d699c112e5c7744b1debd07886 --- .../SimpleMethodStaticAutoImport.java | 2 +- .../SimpleMethodStaticAutoImportNotFound.java | 2 +- .../SimpleMethodStaticAutoImportOnDemand.java | 2 +- .../autoStaticImport/WithMemberConflicts.java | 2 +- .../WithPackageConflicts.java | 2 +- .../WithPackageConflictsWithOnDemand.java | 2 +- .../AutoStaticImportCompletionTest.java | 161 ++++++++++-------- 7 files changed, 92 insertions(+), 81 deletions(-) diff --git a/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImport.java b/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImport.java index 211164f104dd..e791f8dae1ba 100644 --- a/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImport.java +++ b/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImport.java @@ -3,6 +3,6 @@ import java.util.List; class Foo { void test(List baz) { - s + so } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImportNotFound.java b/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImportNotFound.java index 211164f104dd..e791f8dae1ba 100644 --- a/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImportNotFound.java +++ b/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImportNotFound.java @@ -3,6 +3,6 @@ import java.util.List; class Foo { void test(List baz) { - s + so } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImportOnDemand.java b/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImportOnDemand.java index 211164f104dd..e791f8dae1ba 100644 --- a/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImportOnDemand.java +++ b/java/java-tests/testData/codeInsight/completion/autoStaticImport/SimpleMethodStaticAutoImportOnDemand.java @@ -3,6 +3,6 @@ import java.util.List; class Foo { void test(List baz) { - s + so } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithMemberConflicts.java b/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithMemberConflicts.java index 818f6ab23f0b..412d30a7ccd9 100644 --- a/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithMemberConflicts.java +++ b/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithMemberConflicts.java @@ -6,6 +6,6 @@ class Foo { } void m() { - + requireN } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithPackageConflicts.java b/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithPackageConflicts.java index 992fa791b0e9..037e5d5fd129 100644 --- a/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithPackageConflicts.java +++ b/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithPackageConflicts.java @@ -1,5 +1,5 @@ class Foo { void m() { - + requireN } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithPackageConflictsWithOnDemand.java b/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithPackageConflictsWithOnDemand.java index 992fa791b0e9..037e5d5fd129 100644 --- a/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithPackageConflictsWithOnDemand.java +++ b/java/java-tests/testData/codeInsight/completion/autoStaticImport/WithPackageConflictsWithOnDemand.java @@ -1,5 +1,5 @@ class Foo { void m() { - + requireN } } \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/AutoStaticImportCompletionTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/AutoStaticImportCompletionTest.java index 673946c2a14f..c8721f18596e 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/AutoStaticImportCompletionTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/AutoStaticImportCompletionTest.java @@ -45,28 +45,30 @@ public class AutoStaticImportCompletionTest extends NormalCompletionTestCase { public void testSimpleStaticAutoImport() { addStaticAutoImport("java.util.Arrays"); configure(); - type("r"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("sort") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); - assertNotNull(element); - selectItem(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("sort") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); + assertNotNull(element); + selectItem(element); + } checkResult(); } public void testSimpleMethodStaticAutoImport() { addStaticAutoImport("java.util.Arrays.sort"); configure(); - type("o"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("sort") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); - assertNotNull(element); - selectItem(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("sort") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); + assertNotNull(element); + selectItem(element); + } checkResult(); } @@ -79,14 +81,15 @@ public class AutoStaticImportCompletionTest extends NormalCompletionTestCase { onDemand.addEntry(entry); try { configure(); - type("o"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("sort") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); - assertNotNull(element); - selectItem(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("sort") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); + assertNotNull(element); + selectItem(element); + } checkResult(); } finally { @@ -97,13 +100,14 @@ public class AutoStaticImportCompletionTest extends NormalCompletionTestCase { public void testSimpleMethodStaticAutoImportNotFound() { addStaticAutoImport("java.util.Arrays.binarySearch"); configure(); - type("o"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("sort") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); - assertNull(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("sort") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); + assertNull(element); + } } public void testSimpleStaticAutoImportWithEnabledOnDemand() { @@ -115,14 +119,15 @@ public class AutoStaticImportCompletionTest extends NormalCompletionTestCase { onDemand.addEntry(entry); try { configure(); - type("r"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("sort") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); - assertNotNull(element); - selectItem(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("sort") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); + assertNotNull(element); + selectItem(element); + } checkResult(); } finally { @@ -142,40 +147,43 @@ public class AutoStaticImportCompletionTest extends NormalCompletionTestCase { } """); configure(); - type("r"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("sort") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); - assertNotNull(element); - selectItem(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("sort") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); + assertNotNull(element); + selectItem(element); + } checkResult(); } public void testSimpleStaticAutoImportWithAlreadyImported() { addStaticAutoImport("java.util.Arrays"); configure(); - type("r"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("sort") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); - assertNotNull(element); - selectItem(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("sort") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); + assertNotNull(element); + selectItem(element); + } checkResult(); } public void testNoAutoImport() { configure(); - type("r"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("sort") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); - assertNull(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("sort") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("java.util.Arrays")); + assertNull(element); + } } @NeedsIndex.Full @@ -226,14 +234,15 @@ public class AutoStaticImportCompletionTest extends NormalCompletionTestCase { public final class Dummy {} """); configure(); - type("requireN"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("requireNonNull") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("java.util.Objects")); - assertNotNull(element); - selectItem(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("requireNonNull") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("java.util.Objects")); + assertNotNull(element); + selectItem(element); + } checkResult(); } @@ -251,14 +260,15 @@ public class AutoStaticImportCompletionTest extends NormalCompletionTestCase { public final class Dummy {} """); configure(); - type("requireN"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("requireNonNull") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("java.util.Objects")); - assertNotNull(element); - selectItem(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("requireNonNull") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("java.util.Objects")); + assertNotNull(element); + selectItem(element); + } checkResult(); } finally { @@ -276,14 +286,15 @@ public class AutoStaticImportCompletionTest extends NormalCompletionTestCase { } """); configure(); - type("requireN"); LookupElement[] elements = myFixture.getLookupElements(); - LookupElement element = ContainerUtil.find(elements, e -> - e.getLookupString().equals("requireNonNull") && - e.getPsiElement() instanceof PsiMethod method && - method.getContainingClass().getQualifiedName().equals("a.Objects")); - assertNotNull(element); - selectItem(element); + if (elements != null) { + LookupElement element = ContainerUtil.find(elements, e -> + e.getLookupString().equals("requireNonNull") && + e.getPsiElement() instanceof PsiMethod method && + method.getContainingClass().getQualifiedName().equals("a.Objects")); + assertNotNull(element); + selectItem(element); + } checkResult(); }