mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
PY-44026 Add unit tests to completion with auto-import
GitOrigin-RevId: 7965daa063753606ea1d3de9f9bc0829c51fbabf
This commit is contained in:
committed by
intellij-monorepo-bot
parent
aa3041a69f
commit
e5bd01ff28
@@ -0,0 +1 @@
|
||||
foobar.
|
||||
@@ -0,0 +1 @@
|
||||
fooba<caret>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
class MyClass:
|
||||
def __init__(self):
|
||||
pass
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import foo.bar
|
||||
|
||||
foo.bar.MyClass
|
||||
+1
@@ -0,0 +1 @@
|
||||
foo.bar.<caret>
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
def func():
|
||||
pass
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import foo.bar
|
||||
|
||||
foo.bar.func()
|
||||
+1
@@ -0,0 +1 @@
|
||||
foo.bar.<caret>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
def func():
|
||||
pass
|
||||
|
||||
|
||||
def func1():
|
||||
pass
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
def func():
|
||||
pass
|
||||
+1
@@ -0,0 +1 @@
|
||||
bar.<caret>
|
||||
@@ -0,0 +1,22 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.jetbrains.python;
|
||||
|
||||
import com.intellij.psi.util.QualifiedName;
|
||||
import com.jetbrains.python.fixtures.PyTestCase;
|
||||
import com.jetbrains.python.psi.stubs.PyQualifiedNameCompletionMatcher.QualifiedNameMatcher;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PyNotImportedPackageNameCompletionTest extends PyTestCase {
|
||||
public void testDotAfterPackageName() {
|
||||
myFixture.copyDirectoryToProject(getTestName(false), "");
|
||||
myFixture.configureByFile("main.py");
|
||||
myFixture.completeBasic();
|
||||
myFixture.checkResultByFile(getTestName(true) + "/main.after.py");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
return super.getTestDataPath() + "/completion/notImportedPackageName/";
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,16 @@ public class PyNotImportedQualifiedNameCompletionTest extends PyTestCase {
|
||||
assertContainsElements(variants, "bar.func", "baz.quux.func");
|
||||
}
|
||||
|
||||
public void testQualifiedNamesAlwaysMatchedByFirstComponentOfQualifierWithEmptyAttributeName() {
|
||||
myFixture.copyDirectoryToProject(getTestName(false), "");
|
||||
myFixture.configureByFile("main.py");
|
||||
myFixture.completeBasic();
|
||||
List<String> variants = myFixture.getLookupElementStrings();
|
||||
assertNotNull(variants);
|
||||
assertDoesntContain(variants, "foo.bar.func");
|
||||
assertContainsElements(variants, "bar.func", "bar.func1");
|
||||
}
|
||||
|
||||
public void testQualifiedNameMatcherTest() {
|
||||
QualifiedNameMatcher matcher = new QualifiedNameMatcher(QualifiedName.fromDottedString("foo.bar.baz"));
|
||||
assertTrue(matcher.prefixMatches("foo.bar.baz"));
|
||||
@@ -35,6 +45,20 @@ public class PyNotImportedQualifiedNameCompletionTest extends PyTestCase {
|
||||
assertFalse(matcher.prefixMatches("xxx.foo.bar.baz"));
|
||||
}
|
||||
|
||||
public void testImportForModuleFunctionIsAdded() {
|
||||
myFixture.copyDirectoryToProject(getTestName(false), "");
|
||||
myFixture.configureByFile("main.py");
|
||||
myFixture.completeBasic();
|
||||
myFixture.checkResultByFile(getTestName(true) + "/main.after.py");
|
||||
}
|
||||
|
||||
public void testImportForModuleClassIsAdded() {
|
||||
myFixture.copyDirectoryToProject(getTestName(false), "");
|
||||
myFixture.configureByFile("main.py");
|
||||
myFixture.completeBasic();
|
||||
myFixture.checkResultByFile(getTestName(true) + "/main.after.py");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
return super.getTestDataPath() + "/completion/notImportedQualifiedName/";
|
||||
|
||||
Reference in New Issue
Block a user