summaryrefslogtreecommitdiff
path: root/test_isort.py
diff options
context:
space:
mode:
authorTimothy Edmund Crosley <timothy.crosley@gmail.com>2019-02-15 19:48:36 -0800
committerGitHub <noreply@github.com>2019-02-15 19:48:36 -0800
commitbf67c678c13f5052623a968764263e934551db62 (patch)
tree2082c617e5f3623ea602816a55a3dcfa8a677da4 /test_isort.py
parent3214616d23aa5a37199d3333cfb6fd6798776f7f (diff)
parent4c6bdaeeb4fe3953a1eab25eff8256e1cfec9709 (diff)
downloadisort-bf67c678c13f5052623a968764263e934551db62.tar.gz
Merge pull request #809 from valohai/test-coverage-improvements
Test coverage improvements
Diffstat (limited to 'test_isort.py')
-rw-r--r--test_isort.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/test_isort.py b/test_isort.py
index fea40e2b..ca826a5a 100644
--- a/test_isort.py
+++ b/test_isort.py
@@ -2529,6 +2529,8 @@ def test_new_lines_are_preserved():
assert n_newline_contents == 'import os\nimport sys\n'
+@pytest.mark.skipif(not finders.RequirementsFinder.enabled, reason='RequirementsFinder not enabled (too old version of pip?)')
+@pytest.mark.skipif(not finders.pipreqs, reason='pipreqs is missing')
def test_requirements_finder(tmpdir):
subdir = tmpdir.mkdir('subdir').join("lol.txt")
subdir.write("flask")
@@ -2580,6 +2582,8 @@ deal = {editable = true, git = "https://github.com/orsinium/deal.git"}
"""
+@pytest.mark.skipif(not finders.PipfileFinder.enabled, reason='PipfileFinder not enabled (missing requirementslib?)')
+@pytest.mark.skipif(not finders.pipreqs, reason='pipreqs is missing')
def test_pipfile_finder(tmpdir):
pipfile = tmpdir.join('Pipfile')
pipfile.write(PIPFILE)
@@ -2613,6 +2617,33 @@ def test_monkey_patched_urllib():
from urllib import quote # noqa: F401
+def test_argument_parsing():
+ from isort.main import parse_args
+ args = parse_args(['-dt', '-t', 'foo', '--skip=bar', 'baz.py'])
+ assert args['order_by_type'] is False
+ assert args['force_to_top'] == ['foo']
+ assert args['skip'] == ['bar']
+ assert args['files'] == ['baz.py']
+
+
+@pytest.mark.parametrize('multiprocess', (False, True))
+def test_command_line(tmpdir, capfd, multiprocess):
+ from isort.main import main
+ tmpdir.join("file1.py").write("import re\nimport os\n\nimport contextlib\n\n\nimport isort")
+ tmpdir.join("file2.py").write("import collections\nimport time\n\nimport abc\n\n\nimport isort")
+ arguments = ["-rc", str(tmpdir)]
+ if multiprocess:
+ arguments.extend(['--jobs', '2'])
+ main(arguments)
+ assert tmpdir.join("file1.py").read() == "import contextlib\nimport os\nimport re\n\nimport isort\n"
+ assert tmpdir.join("file2.py").read() == "import abc\nimport collections\nimport time\n\nimport isort\n"
+ out, err = capfd.readouterr()
+ assert not err
+ # it informs us about fixing the files:
+ assert str(tmpdir.join("file1.py")) in out
+ assert str(tmpdir.join("file2.py")) in out
+
+
@pytest.mark.parametrize('enabled', (False, True))
def test_safety_excludes(tmpdir, enabled):
tmpdir.join("victim.py").write("# ...")