mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-44026 Add a flag to PyModuleNameCompletionContributor for some tests to pass
GitOrigin-RevId: 104959faf4784de40500b694556b552fdbb69021
This commit is contained in:
committed by
intellij-monorepo-bot
parent
bf9af6108f
commit
726f21a3ae
@@ -10,6 +10,7 @@ import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
import com.intellij.openapi.vfs.StandardFileSystems;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.jetbrains.python.codeInsight.completion.PyModuleNameCompletionContributor;
|
||||
import com.jetbrains.python.documentation.docstrings.DocStringFormat;
|
||||
import com.jetbrains.python.fixture.PythonCommonTestCase;
|
||||
import com.jetbrains.python.psi.LanguageLevel;
|
||||
@@ -29,6 +30,7 @@ public abstract class PythonCommonCompletionTest extends PythonCommonTestCase {
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
myFixture.setTestDataPath(getTestDataPath());
|
||||
PyModuleNameCompletionContributor.ENABLED = false;
|
||||
}
|
||||
|
||||
protected void doTest() {
|
||||
|
||||
+11
@@ -21,12 +21,21 @@ import com.jetbrains.python.psi.resolve.fromFoothold
|
||||
import com.jetbrains.python.psi.resolve.resolveQualifiedName
|
||||
import com.jetbrains.python.psi.types.PyModuleType
|
||||
import com.jetbrains.python.psi.types.PyType
|
||||
import org.jetbrains.annotations.TestOnly
|
||||
|
||||
/**
|
||||
* Adds completion variants for modules and packages, inserts a dot after and calls completion on the result,
|
||||
* see [PyUnresolvedModuleAttributeCompletionContributor]
|
||||
*/
|
||||
class PyModuleNameCompletionContributor : CompletionContributor() {
|
||||
|
||||
companion object {
|
||||
// temporary solution for tests that are not prepared for module name completion firing everywhere
|
||||
@TestOnly
|
||||
@JvmField
|
||||
var ENABLED = true
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether completion should be performed for a given [parameters] and delegates actual work to [doFillCompletionVariants].
|
||||
*/
|
||||
@@ -82,6 +91,8 @@ class PyModuleNameCompletionContributor : CompletionContributor() {
|
||||
}
|
||||
|
||||
private fun shouldDoCompletion(parameters: CompletionParameters): Boolean {
|
||||
if (!ENABLED) return false
|
||||
|
||||
val element = parameters.position
|
||||
val parent = element.parent
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import com.intellij.testFramework.PsiTestUtil;
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.jetbrains.python.codeInsight.completion.PyModuleNameCompletionContributor;
|
||||
import com.jetbrains.python.fixtures.PyTestCase;
|
||||
import com.jetbrains.python.inspections.PyMethodParametersInspection;
|
||||
import com.jetbrains.python.psi.LanguageLevel;
|
||||
@@ -180,6 +181,7 @@ public class Py3CompletionTest extends PyTestCase {
|
||||
}
|
||||
|
||||
public void testAsync() {
|
||||
PyModuleNameCompletionContributor.ENABLED = false;
|
||||
runWithLanguageLevel(LanguageLevel.PYTHON35, this::doTest);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,12 +2,18 @@
|
||||
package com.jetbrains.python;
|
||||
|
||||
import com.intellij.codeInsight.completion.impl.CamelHumpMatcher;
|
||||
import com.jetbrains.python.codeInsight.completion.PyModuleNameCompletionContributor;
|
||||
import com.jetbrains.python.fixtures.PyTestCase;
|
||||
import com.jetbrains.python.psi.LanguageLevel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PythonKeywordCompletionTest extends PyTestCase {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
PyModuleNameCompletionContributor.ENABLED = false;
|
||||
}
|
||||
|
||||
private void doTest3K() {
|
||||
runWithLanguageLevel(LanguageLevel.PYTHON34, this::doTest);
|
||||
|
||||
@@ -45,6 +45,7 @@ import com.intellij.util.IncorrectOperationException;
|
||||
import com.jetbrains.python.PythonHelpersLocator;
|
||||
import com.jetbrains.python.PythonLanguage;
|
||||
import com.jetbrains.python.PythonTestUtil;
|
||||
import com.jetbrains.python.codeInsight.completion.PyModuleNameCompletionContributor;
|
||||
import com.jetbrains.python.documentation.PyDocumentationSettings;
|
||||
import com.jetbrains.python.documentation.PythonDocumentationProvider;
|
||||
import com.jetbrains.python.documentation.docstrings.DocStringFormat;
|
||||
@@ -267,6 +268,7 @@ public abstract class PyTestCase extends UsefulTestCase {
|
||||
protected void tearDown() throws Exception {
|
||||
try {
|
||||
PyNamespacePackagesService.getInstance(myFixture.getModule()).resetAllNamespacePackages();
|
||||
PyModuleNameCompletionContributor.ENABLED = true;
|
||||
setLanguageLevel(null);
|
||||
myFixture.tearDown();
|
||||
myFixture = null;
|
||||
|
||||
Reference in New Issue
Block a user