From 5b9b9f8fb8ffedc4fde4cb8aba6929493587564f Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Thu, 28 Mar 2024 11:40:04 +0200 Subject: [PATCH] [python] Improve test coverage of ImportToImportFromIntention GitOrigin-RevId: 59b2ebdfe4a8c9bbaf264f0db8b45a5af2b4533a --- .../another.py | 0 ...ultipleModulesToFromImportOfOnesAttributes.py | 4 ++++ ...eModulesToFromImportOfOnesAttributes_after.py | 5 +++++ .../mod.py | 5 +++++ .../importToFromImportKeepingOriginalImport.py | 5 +++++ ...ortToFromImportKeepingOriginalImport_after.py | 6 ++++++ .../mod.py | 5 +++++ .../__init__.py | 0 .../mod.py | 5 +++++ ...eItselfToRelativeFromImportOfItsAttributes.py | 4 ++++ ...fToRelativeFromImportOfItsAttributes_after.py | 4 ++++ .../__init__.py | 0 .../another.py | 0 .../mod.py | 5 +++++ ...odulesToRelativeFromImportOfOnesAttributes.py | 4 ++++ ...ToRelativeFromImportOfOnesAttributes_after.py | 5 +++++ .../python/intentions/PyIntentionTest.java | 16 ++++++++++++++++ 17 files changed, 73 insertions(+) create mode 100644 python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/another.py create mode 100644 python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/importOfMultipleModulesToFromImportOfOnesAttributes.py create mode 100644 python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/importOfMultipleModulesToFromImportOfOnesAttributes_after.py create mode 100644 python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/mod.py create mode 100644 python/testData/intentions/ImportToFromImportKeepingOriginalImport/importToFromImportKeepingOriginalImport.py create mode 100644 python/testData/intentions/ImportToFromImportKeepingOriginalImport/importToFromImportKeepingOriginalImport_after.py create mode 100644 python/testData/intentions/ImportToFromImportKeepingOriginalImport/mod.py create mode 100644 python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/__init__.py create mode 100644 python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/mod.py create mode 100644 python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/relativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes.py create mode 100644 python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/relativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes_after.py create mode 100644 python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/__init__.py create mode 100644 python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/another.py create mode 100644 python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/mod.py create mode 100644 python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/relativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes.py create mode 100644 python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/relativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes_after.py diff --git a/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/another.py b/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/another.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/importOfMultipleModulesToFromImportOfOnesAttributes.py b/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/importOfMultipleModulesToFromImportOfOnesAttributes.py new file mode 100644 index 000000000000..e2f10ea32673 --- /dev/null +++ b/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/importOfMultipleModulesToFromImportOfOnesAttributes.py @@ -0,0 +1,4 @@ +import mod, another + +mod.func() +mod.Class() \ No newline at end of file diff --git a/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/importOfMultipleModulesToFromImportOfOnesAttributes_after.py b/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/importOfMultipleModulesToFromImportOfOnesAttributes_after.py new file mode 100644 index 000000000000..10bd72544f3d --- /dev/null +++ b/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/importOfMultipleModulesToFromImportOfOnesAttributes_after.py @@ -0,0 +1,5 @@ +import another +from mod import func, Class + +func() +Class() \ No newline at end of file diff --git a/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/mod.py b/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/mod.py new file mode 100644 index 000000000000..b8b7b157dd7b --- /dev/null +++ b/python/testData/intentions/ImportOfMultipleModulesToFromImportOfOnesAttributes/mod.py @@ -0,0 +1,5 @@ +class Class: + pass + +def func(): + pass \ No newline at end of file diff --git a/python/testData/intentions/ImportToFromImportKeepingOriginalImport/importToFromImportKeepingOriginalImport.py b/python/testData/intentions/ImportToFromImportKeepingOriginalImport/importToFromImportKeepingOriginalImport.py new file mode 100644 index 000000000000..d80699bfe1b0 --- /dev/null +++ b/python/testData/intentions/ImportToFromImportKeepingOriginalImport/importToFromImportKeepingOriginalImport.py @@ -0,0 +1,5 @@ +import mod + +print(mod) +print(mod.func() +print(mod.Class()) \ No newline at end of file diff --git a/python/testData/intentions/ImportToFromImportKeepingOriginalImport/importToFromImportKeepingOriginalImport_after.py b/python/testData/intentions/ImportToFromImportKeepingOriginalImport/importToFromImportKeepingOriginalImport_after.py new file mode 100644 index 000000000000..357d9f0879fb --- /dev/null +++ b/python/testData/intentions/ImportToFromImportKeepingOriginalImport/importToFromImportKeepingOriginalImport_after.py @@ -0,0 +1,6 @@ +import mod +from mod import func, Class + +print(mod) +print(func() +print(Class()) \ No newline at end of file diff --git a/python/testData/intentions/ImportToFromImportKeepingOriginalImport/mod.py b/python/testData/intentions/ImportToFromImportKeepingOriginalImport/mod.py new file mode 100644 index 000000000000..b8b7b157dd7b --- /dev/null +++ b/python/testData/intentions/ImportToFromImportKeepingOriginalImport/mod.py @@ -0,0 +1,5 @@ +class Class: + pass + +def func(): + pass \ No newline at end of file diff --git a/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/__init__.py b/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/mod.py b/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/mod.py new file mode 100644 index 000000000000..b8b7b157dd7b --- /dev/null +++ b/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/mod.py @@ -0,0 +1,5 @@ +class Class: + pass + +def func(): + pass \ No newline at end of file diff --git a/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/relativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes.py b/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/relativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes.py new file mode 100644 index 000000000000..a92bfba38153 --- /dev/null +++ b/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/relativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes.py @@ -0,0 +1,4 @@ +from . import mod + +mod.Class() +mod.func() \ No newline at end of file diff --git a/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/relativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes_after.py b/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/relativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes_after.py new file mode 100644 index 000000000000..020ebe200158 --- /dev/null +++ b/python/testData/intentions/RelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes/relativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes_after.py @@ -0,0 +1,4 @@ +from .mod import func, Class + +Class() +func() \ No newline at end of file diff --git a/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/__init__.py b/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/another.py b/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/another.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/mod.py b/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/mod.py new file mode 100644 index 000000000000..b8b7b157dd7b --- /dev/null +++ b/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/mod.py @@ -0,0 +1,5 @@ +class Class: + pass + +def func(): + pass \ No newline at end of file diff --git a/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/relativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes.py b/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/relativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes.py new file mode 100644 index 000000000000..c8d0eebdef67 --- /dev/null +++ b/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/relativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes.py @@ -0,0 +1,4 @@ +from . import mod, another + +mod.Class() +mod.func() \ No newline at end of file diff --git a/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/relativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes_after.py b/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/relativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes_after.py new file mode 100644 index 000000000000..dff923b2583b --- /dev/null +++ b/python/testData/intentions/RelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes/relativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes_after.py @@ -0,0 +1,5 @@ +from . import another +from .mod import func, Class + +Class() +func() \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/intentions/PyIntentionTest.java b/python/testSrc/com/jetbrains/python/intentions/PyIntentionTest.java index e92047852696..9dc32664bbe0 100644 --- a/python/testSrc/com/jetbrains/python/intentions/PyIntentionTest.java +++ b/python/testSrc/com/jetbrains/python/intentions/PyIntentionTest.java @@ -473,6 +473,22 @@ public class PyIntentionTest extends PyTestCase { doMultiFileTest("Remove 'pkg.mod' qualifier"); } + public void testRelativeFromImportOfModuleItselfToRelativeFromImportOfItsAttributes() { + doMultiFileTest("Convert to 'from .mod import ...'"); + } + + public void testRelativeFromImportOfMultipleModulesToRelativeFromImportOfOnesAttributes() { + doMultiFileTest("Convert to 'from .mod import ...'"); + } + + public void testImportOfMultipleModulesToFromImportOfOnesAttributes() { + doMultiFileTest("Convert to 'from mod import ...'"); + } + + public void testImportToFromImportKeepingOriginalImport() { + doMultiFileTest("Convert to 'from mod import ...'"); + } + public void testTypeInDocstring() { getIndentOptions().INDENT_SIZE = 2; doDocParamTypeTest(DocStringFormat.REST);