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 40 41 42 43 44
|
import ast
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)),
f"--import-order-style={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
tree = ast.parse(data)
checker = Linter(tree, None)
for lineno, col_offset, msg, instance in checker.run():
assert msg.startswith(
"I201 Missing newline between import groups.",
)
|