File: test_flake8_linter.py

package info (click to toggle)
flake8-import-order 0.19.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 352 kB
  • sloc: python: 2,574; sh: 5; makefile: 4
file content (44 lines) | stat: -rw-r--r-- 1,452 bytes parent folder | download
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.",
        )