Skip to content

Commit 36359fc

Browse files
authored
Fix check for TYPE_CHECKING (#207)
* Fix check for TYPE_CHECKING This will unbreak default branch builds * Un-autoformat test case files Also remove StringIO
1 parent be59d58 commit 36359fc

File tree

9 files changed

+106
-10
lines changed

9 files changed

+106
-10
lines changed

flake8_import_order/__init__.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,15 @@ def visit_ImportFrom(self, node): # noqa: N802
142142
def _type_checking_import(self, node):
143143
return (
144144
isinstance(node.parent, ast.If)
145-
and node.parent.test.id == "TYPE_CHECKING"
145+
and isinstance(node.parent.test, ast.Name)
146+
and (
147+
node.parent.test.id == "TYPE_CHECKING"
148+
or (
149+
node.parent.test.value.id in {"t", "typing"}
150+
and getattr(node.parent.test, "attr", "")
151+
== "TYPE_CHECKING"
152+
)
153+
)
146154
)
147155

148156
def _classify_type(self, module):

tests/test_cases/complete_appnexus.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
from functools import *
3939
import os
4040
from os import path
41-
import StringIO
4241
import sys
4342

4443
import X
@@ -67,3 +66,23 @@
6766
from .. import B
6867
from ..A import A
6968
from ..B import B
69+
70+
if t.TYPE_CHECKING:
71+
import ast
72+
73+
import X
74+
75+
from localpackage import A, b
76+
77+
import flake8_import_order
78+
from ..B import B
79+
80+
if typing.TYPE_CHECKING:
81+
import ast
82+
83+
import X
84+
85+
from localpackage import A, b
86+
87+
import flake8_import_order
88+
from ..B import B

tests/test_cases/complete_cryptography.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,23 @@
8282
from .. import B
8383
from ..A import A
8484
from ..B import B
85+
86+
if t.TYPE_CHECKING:
87+
import ast
88+
89+
import X
90+
91+
from localpackage import A, b
92+
93+
import flake8_import_order
94+
from ..B import B
95+
96+
if typing.TYPE_CHECKING:
97+
import ast
98+
99+
import X
100+
101+
from localpackage import A, b
102+
103+
import flake8_import_order
104+
from ..B import B

tests/test_cases/complete_edited.py

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
if TYPE_CHECKING:
4040
import ast
4141
import os
42-
import StringIO
4342
import sys
4443
from functools import *
4544
from os import path
@@ -72,4 +71,55 @@
7271
from .. import A
7372
from .. import B
7473
from ..A import A
75-
from ..B import B
74+
from ..B import B
75+
76+
if t.TYPE_CHECKING:
77+
import ast
78+
79+
import X
80+
81+
from localpackage import A, b
82+
83+
import flake8_import_order
84+
from ..B import B
85+
86+
if typing.TYPE_CHECKING:
87+
import ast
88+
import os
89+
import sys
90+
from functools import *
91+
from os import path
92+
93+
import localpackage
94+
import X
95+
import Y
96+
import Z
97+
from localpackage import A
98+
from localpackage import b
99+
from X import A
100+
from X import B
101+
from X import C
102+
from X import *
103+
from X import b
104+
from X import d
105+
from Y import A
106+
from Y import B
107+
from Y import C
108+
from Y import D
109+
from Y import *
110+
from Y import e
111+
from Z import A
112+
from Z.A import A
113+
from Z.A.B import A
114+
115+
import flake8_import_order
116+
from flake8_import_order import *
117+
118+
from .. import A
119+
from .. import B
120+
from ..A import A
121+
from ..B import B
122+
from . import A
123+
from . import B
124+
from .A import A
125+
from .B import B

tests/test_cases/complete_google.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
from functools import *
3838
import os
3939
from os import path
40-
import StringIO
4140
import sys
4241

4342
import localpackage

tests/test_cases/complete_pycharm.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
from ..B import B
3434

3535
if TYPE_CHECKING:
36-
import StringIO
3736
import ast
3837
import os
3938
import sys

tests/test_cases/complete_smarkets.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
if TYPE_CHECKING:
3636
import ast
3737
import os
38-
import StringIO
3938
import sys
4039
from functools import *
4140
from os import path

tests/test_pylama_linter.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
from flake8_import_order.pylama_linter import Linter
1+
import pytest
22

33

4+
@pytest.mark.skip("pylama seems unmaintained")
45
def test_linter(tmpdir):
6+
from flake8_import_order.pylama_linter import Linter
7+
58
file_ = tmpdir.join("flake8_import_order.py")
69
file_.write("import ast\nimport flake8_import_order\n")
710

tox.ini

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
[tox]
2-
envlist = py3{7,8,9,10,11},pypy3,manifest,pep8,setuppy
2+
envlist = py3{9,10,11,12,13},pypy3,pep8,release-check
33

44
[testenv]
55
deps =
66
flake8
7-
pylama
87
pytest
98
pytest-cov
109
commands =

0 commit comments

Comments
 (0)