-
Notifications
You must be signed in to change notification settings - Fork 72
/
test_flake8_linter.py
39 lines (31 loc) · 1.36 KB
/
test_flake8_linter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import pycodestyle
from flake8_import_order.flake8_linter import Linter
from flake8_import_order.styles import Google
def test_parsing():
style = 'google'
import_names = ['flake8_import_order', 'tests']
package_names = ['local_package']
argv = [
"--application-import-names={}".format(','.join(import_names)),
"--import-order-style={}".format(style),
"--application-package-names={}".format(','.join(package_names)),
]
parser = pycodestyle.get_parser('', '')
Linter.add_options(parser)
options, args = parser.parse_args(argv)
Linter.parse_options(options)
assert Linter.options['import_order_style'].name == style
assert Linter.options['import_order_style'].load() is Google
assert Linter.options['application_import_names'] == import_names
assert Linter.options['application_package_names'] == package_names
def test_linter():
argv = ['--application-import-names=flake8_import_order']
parser = pycodestyle.get_parser('', '')
Linter.add_options(parser)
options, args = parser.parse_args(argv)
Linter.parse_options(options)
data = 'import ast\nimport flake8_import_order\n'
pycodestyle.stdin_get_value = lambda: data
checker = Linter(None)
for lineno, col_offset, msg, instance in checker.run():
assert msg == 'I201 Missing newline before sections or imports.'