def test_not_separate_not_import_before_from(): ret = sort(IMPORTS, separate=False, import_before_from=False) assert ret == (( FromImport.from_str('from aspy import refactor_imports'), FromImport.from_str('from os import path'), ImportImport.from_str('import pyramid'), ImportImport.from_str('import sys'), ), )
def test_not_separate_not_import_before_from(): ret = sort(IMPORTS, separate=False, import_before_from=False) assert ret == ( ( FromImport.from_str('from aspy import refactor_imports'), FromImport.from_str('from os import path'), ImportImport.from_str('import pyramid'), ImportImport.from_str('import sys'), ), )
def test_future_separate_block_non_separate(): ret = sort( ( FromImport.from_str('from __future__ import absolute_import'), ImportImport.from_str('import pyramid'), ), separate=False, import_before_from=True, ) assert ret == ( (FromImport.from_str('from __future__ import absolute_import'), ), (ImportImport.from_str('import pyramid'), ), )
def test_future_separate_block_non_separate(): ret = sort( ( FromImport.from_str('from __future__ import absolute_import'), ImportImport.from_str('import pyramid'), ), separate=False, import_before_from=True, ) assert ret == ( (FromImport.from_str('from __future__ import absolute_import'),), (ImportImport.from_str('import pyramid'),), )
def test_from_import_cmp(): not_sorted = [ FromImport.from_str('from foo import bar as baz'), FromImport.from_str('from foo import bar'), FromImport.from_str('from herp import derp'), FromImport.from_str('from foo import bar as buz'), FromImport.from_str('from foo.bar import womp'), ] assert sorted(not_sorted) == [ FromImport.from_str('from foo import bar'), FromImport.from_str('from foo import bar as baz'), FromImport.from_str('from foo import bar as buz'), FromImport.from_str('from foo.bar import womp'), FromImport.from_str('from herp import derp'), ]
def test_separate_relative(): ret = sort(RELATIVE_IMPORTS) assert ret == ( ( ImportImport.from_str('import sys'), FromImport.from_str('from os import path'), ), (ImportImport.from_str('import pyramid'), ), ( FromImport.from_str('from .sort import sort'), FromImport.from_str('from aspy import refactor_imports'), ), ) ret = sort(RELATIVE_IMPORTS, separate_relative=True) assert ret == (( ImportImport.from_str('import sys'), FromImport.from_str('from os import path'), ), (ImportImport.from_str('import pyramid'), ), ( FromImport.from_str('from aspy import refactor_imports'), ), (FromImport.from_str('from .sort import sort'), ))
from __future__ import absolute_import from __future__ import unicode_literals from aspy.refactor_imports.import_obj import FromImport from aspy.refactor_imports.import_obj import ImportImport from aspy.refactor_imports.sort import sort IMPORTS = ( FromImport.from_str('from os import path'), FromImport.from_str('from aspy import refactor_imports'), ImportImport.from_str('import sys'), ImportImport.from_str('import pyramid'), ) def test_separate_import_before_from(): ret = sort(IMPORTS, separate=True, import_before_from=True) assert ret == ( ( ImportImport.from_str('import sys'), FromImport.from_str('from os import path'), ), ( ImportImport.from_str('import pyramid'), ), ( FromImport.from_str('from aspy import refactor_imports'), ), )
def test_from_import_hashable(): my_set = set() my_set.add(FromImport.from_str('from foo import bar')) my_set.add(FromImport.from_str('from foo import bar')) assert len(my_set) == 1
def test_from_import_to_text(import_str): assert FromImport.from_str(import_str).to_text() == import_str
def test_from_import_has_multiple_imports(input_str, expected): assert FromImport.from_str(input_str).has_multiple_imports is expected
def from_import(): yield FromImport.from_str('from Foo import bar as baz')
@pytest.mark.parametrize( ('input_str', 'expected'), ( ('from foo import bar', False), ('from foo import bar, baz', True), ), ) def test_from_import_has_multiple_imports(input_str, expected): assert FromImport.from_str(input_str).has_multiple_imports is expected @pytest.mark.parametrize( ('input_str', 'expected'), ( ('from foo import bar', [FromImport.from_str('from foo import bar')]), ( 'from foo import bar, baz', [ FromImport.from_str('from foo import bar'), FromImport.from_str('from foo import baz'), ], ), ( 'from .foo import bar, baz', [ FromImport.from_str('from .foo import bar'), FromImport.from_str('from .foo import baz'), ], ), ),
from __future__ import absolute_import from __future__ import unicode_literals from aspy.refactor_imports.import_obj import FromImport from aspy.refactor_imports.import_obj import ImportImport from aspy.refactor_imports.sort import sort IMPORTS = ( FromImport.from_str('from os import path'), FromImport.from_str('from aspy import refactor_imports'), ImportImport.from_str('import sys'), ImportImport.from_str('import pyramid'), ) def test_separate_import_before_from(): ret = sort(IMPORTS, separate=True, import_before_from=True) assert ret == ( ( ImportImport.from_str('import sys'), FromImport.from_str('from os import path'), ), (ImportImport.from_str('import pyramid'), ), (FromImport.from_str('from aspy import refactor_imports'), ), ) def test_separate_not_import_before_from(): ret = sort(IMPORTS, separate=True, import_before_from=False) assert ret == ( (
def test_from_import_split_imports(input_str, expected): assert FromImport.from_str(input_str).split_imports() == expected
def test_from_import_to_text_normalizes_whitespace(import_str, expected): assert FromImport.from_str(import_str).to_text() == expected
def test_hashable(): my_set = set() my_set.add(FromImport.from_str('from foo import bar')) my_set.add(FromImport.from_str('from foo import bar')) assert len(my_set) == 1
def test_local_imports(input_str): assert FromImport.from_str(input_str).to_text() == input_str
from __future__ import absolute_import from __future__ import unicode_literals from aspy.refactor_imports.import_obj import FromImport from aspy.refactor_imports.import_obj import ImportImport from aspy.refactor_imports.sort import sort IMPORTS = ( FromImport.from_str('from os import path'), FromImport.from_str('from aspy import refactor_imports'), ImportImport.from_str('import sys'), ImportImport.from_str('import pyramid'), ) RELATIVE_IMPORTS = IMPORTS + (FromImport.from_str("from .sort import sort"), ) def test_separate_import_before_from(): ret = sort(IMPORTS, separate=True, import_before_from=True) assert ret == ( ( ImportImport.from_str('import sys'), FromImport.from_str('from os import path'), ), (ImportImport.from_str('import pyramid'), ), (FromImport.from_str('from aspy import refactor_imports'), ), ) def test_separate_not_import_before_from(): ret = sort(IMPORTS, separate=True, import_before_from=False)