diff --git a/python/testData/completion/className/combinedOrdering/main.py b/python/testData/completion/className/combinedOrdering/combinedOrdering.py similarity index 100% rename from python/testData/completion/className/combinedOrdering/main.py rename to python/testData/completion/className/combinedOrdering/combinedOrdering.py diff --git a/python/testData/completion/className/orderingFileHasImportFromSameFile/main.py b/python/testData/completion/className/orderingFileHasImportFromSameFile/orderingFileHasImportFromSameFile.py similarity index 100% rename from python/testData/completion/className/orderingFileHasImportFromSameFile/main.py rename to python/testData/completion/className/orderingFileHasImportFromSameFile/orderingFileHasImportFromSameFile.py diff --git a/python/testData/completion/className/orderingLexicographicalBaseline/main.py b/python/testData/completion/className/orderingLexicographicalBaseline/orderingLexicographicalBaseline.py similarity index 100% rename from python/testData/completion/className/orderingLexicographicalBaseline/main.py rename to python/testData/completion/className/orderingLexicographicalBaseline/orderingLexicographicalBaseline.py diff --git a/python/testData/completion/className/orderingLocalBeforeStdlib/main.py b/python/testData/completion/className/orderingLocalBeforeStdlib/orderingLocalBeforeStdlib.py similarity index 100% rename from python/testData/completion/className/orderingLocalBeforeStdlib/main.py rename to python/testData/completion/className/orderingLocalBeforeStdlib/orderingLocalBeforeStdlib.py diff --git a/python/testData/completion/className/orderingModuleBeforePackage/main.py b/python/testData/completion/className/orderingModuleBeforePackage/orderingModuleBeforePackage.py similarity index 100% rename from python/testData/completion/className/orderingModuleBeforePackage/main.py rename to python/testData/completion/className/orderingModuleBeforePackage/orderingModuleBeforePackage.py diff --git a/python/testData/completion/className/orderingPathComponentsNumber/main.py b/python/testData/completion/className/orderingPathComponentsNumber/orderingPathComponentsNumber.py similarity index 100% rename from python/testData/completion/className/orderingPathComponentsNumber/main.py rename to python/testData/completion/className/orderingPathComponentsNumber/orderingPathComponentsNumber.py diff --git a/python/testData/completion/className/orderingSymbolBeforeModule/main.py b/python/testData/completion/className/orderingSymbolBeforeModule/orderingSymbolBeforeModule.py similarity index 100% rename from python/testData/completion/className/orderingSymbolBeforeModule/main.py rename to python/testData/completion/className/orderingSymbolBeforeModule/orderingSymbolBeforeModule.py diff --git a/python/testData/completion/className/orderingUnderscoreInName/main.py b/python/testData/completion/className/orderingUnderscoreInName/orderingUnderscoreInName.py similarity index 100% rename from python/testData/completion/className/orderingUnderscoreInName/main.py rename to python/testData/completion/className/orderingUnderscoreInName/orderingUnderscoreInName.py diff --git a/python/testData/completion/className/orderingUnderscoreInPath/main.py b/python/testData/completion/className/orderingUnderscoreInPath/orderingUnderscoreInPath.py similarity index 100% rename from python/testData/completion/className/orderingUnderscoreInPath/main.py rename to python/testData/completion/className/orderingUnderscoreInPath/orderingUnderscoreInPath.py diff --git a/python/testSrc/com/jetbrains/python/PyClassNameCompletionTest.java b/python/testSrc/com/jetbrains/python/PyClassNameCompletionTest.java index 0a2b5c5d72a6..91755259919a 100644 --- a/python/testSrc/com/jetbrains/python/PyClassNameCompletionTest.java +++ b/python/testSrc/com/jetbrains/python/PyClassNameCompletionTest.java @@ -147,7 +147,7 @@ public class PyClassNameCompletionTest extends PyTestCase { runWithAdditionalFileInLibDir( "sys.py", "path = 10", - (__) -> doTestCompletionOrder("main.path", "first.foo.path", "sys.path", "_second.bar.path") + (__) -> doTestCompletionOrder("combinedOrdering.path", "first.foo.path", "sys.path", "_second.bar.path") ); } @@ -158,31 +158,23 @@ public class PyClassNameCompletionTest extends PyTestCase { // PY-44586 public void testNoDuplicatesForStubsAndOverrides() { - final String path = "/completion/className/" + getTestName(true); - myFixture.copyDirectoryToProject(path, ""); - myFixture.configureFromTempProjectFile(getTestName(true) + ".py"); - myFixture.complete(CompletionType.BASIC, 2); + doExtendedCompletion(); List allVariants = myFixture.getLookupElementStrings(); assertNotNull(allVariants); assertEquals(1, Collections.frequency(allVariants, "my_func")); } private void doTest() { - final String path = "/completion/className/" + getTestName(true); - myFixture.copyDirectoryToProject(path, ""); - myFixture.configureFromTempProjectFile(getTestName(true) + ".py"); - myFixture.complete(CompletionType.BASIC, 2); - if (myFixture.getLookupElements() != null) { + LookupElement[] lookupElements = doExtendedCompletion(); + if (lookupElements != null) { myFixture.finishLookup(Lookup.NORMAL_SELECT_CHAR); } - myFixture.checkResultByFile(path + "/" + getTestName(true) + ".after.py", true); + myFixture.checkResultByFile(getTestName(true) + "/" + getTestName(true) + ".after.py", true); } private void doTestCompletionOrder(String @NotNull ... expected) { - myFixture.copyDirectoryToProject("/completion/className/" + getTestName(true), ""); - myFixture.configureByFile("main.py"); - myFixture.complete(CompletionType.BASIC, 2); - List qNames = StreamEx.of(myFixture.getLookupElements()) + LookupElement[] lookupElements = doExtendedCompletion(); + List qNames = StreamEx.of(lookupElements) .map(LookupElement::getPsiElement) .nonNull() .map(PyClassNameCompletionTest::extractQualifiedName) @@ -190,6 +182,12 @@ public class PyClassNameCompletionTest extends PyTestCase { assertContainsInRelativeOrder(qNames, expected); } + private LookupElement @Nullable [] doExtendedCompletion() { + myFixture.copyDirectoryToProject(getTestName(true), ""); + myFixture.configureFromTempProjectFile(getTestName(true) + ".py"); + return myFixture.complete(CompletionType.BASIC, 2); + } + @Nullable private static String extractQualifiedName(@NotNull PsiElement element) { if (element instanceof PyQualifiedNameOwner) { @@ -208,4 +206,9 @@ public class PyClassNameCompletionTest extends PyTestCase { private PyCodeStyleSettings getPythonCodeStyleSettings() { return getCodeStyleSettings().getCustomSettings(PyCodeStyleSettings.class); } + + @Override + protected String getTestDataPath() { + return super.getTestDataPath() + "/completion/className/"; + } }