From ce48522d8f7276ef03094e19235278d322eb2a93 Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Thu, 24 Sep 2020 14:26:25 +0300 Subject: [PATCH] Make the test data layout of extended completion tests more uniform GitOrigin-RevId: 5ca54fd7ba3446c0548c38d81051968dc7dc4586 --- .../{main.py => combinedOrdering.py} | 0 ...y => orderingFileHasImportFromSameFile.py} | 0 ....py => orderingLexicographicalBaseline.py} | 0 .../{main.py => orderingLocalBeforeStdlib.py} | 0 ...main.py => orderingModuleBeforePackage.py} | 0 ...ain.py => orderingPathComponentsNumber.py} | 0 ...{main.py => orderingSymbolBeforeModule.py} | 0 .../{main.py => orderingUnderscoreInName.py} | 0 .../{main.py => orderingUnderscoreInPath.py} | 0 .../python/PyClassNameCompletionTest.java | 33 ++++++++++--------- 10 files changed, 18 insertions(+), 15 deletions(-) rename python/testData/completion/className/combinedOrdering/{main.py => combinedOrdering.py} (100%) rename python/testData/completion/className/orderingFileHasImportFromSameFile/{main.py => orderingFileHasImportFromSameFile.py} (100%) rename python/testData/completion/className/orderingLexicographicalBaseline/{main.py => orderingLexicographicalBaseline.py} (100%) rename python/testData/completion/className/orderingLocalBeforeStdlib/{main.py => orderingLocalBeforeStdlib.py} (100%) rename python/testData/completion/className/orderingModuleBeforePackage/{main.py => orderingModuleBeforePackage.py} (100%) rename python/testData/completion/className/orderingPathComponentsNumber/{main.py => orderingPathComponentsNumber.py} (100%) rename python/testData/completion/className/orderingSymbolBeforeModule/{main.py => orderingSymbolBeforeModule.py} (100%) rename python/testData/completion/className/orderingUnderscoreInName/{main.py => orderingUnderscoreInName.py} (100%) rename python/testData/completion/className/orderingUnderscoreInPath/{main.py => orderingUnderscoreInPath.py} (100%) 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/"; + } }