def test_apply_import_sorting_removes_padding_if_only_imports(): assert apply_import_sorting([ CodePartition(CodeType.IMPORT, 'import foo\n'), CodePartition(CodeType.NON_CODE, '\n\n'), ]) == [ CodePartition(CodeType.IMPORT, 'import foo\n'), ]
def test_apply_import_sorting_sorts_imports_with_separate_from_import(): assert apply_import_sorting( [ # local imports CodePartition( CodeType.IMPORT, 'from reorder_python_imports import main\n', ), CodePartition(CodeType.IMPORT, 'import reorder_python_imports\n'), # site-package imports CodePartition(CodeType.IMPORT, 'from six import text_type\n'), CodePartition(CodeType.IMPORT, 'import aspy\n'), # System imports (out of order) CodePartition(CodeType.IMPORT, 'from os import path\n'), CodePartition(CodeType.IMPORT, 'import os\n'), ], separate_from_import=True, ) == [ CodePartition(CodeType.IMPORT, 'import os\n'), CodePartition(CodeType.NON_CODE, '\n'), CodePartition(CodeType.IMPORT, 'from os import path\n'), CodePartition(CodeType.NON_CODE, '\n'), CodePartition(CodeType.IMPORT, 'import aspy\n'), CodePartition(CodeType.NON_CODE, '\n'), CodePartition(CodeType.IMPORT, 'from six import text_type\n'), CodePartition(CodeType.NON_CODE, '\n'), CodePartition(CodeType.IMPORT, 'import reorder_python_imports\n'), CodePartition(CodeType.NON_CODE, '\n'), CodePartition( CodeType.IMPORT, 'from reorder_python_imports import main\n', ), ]
def test_apply_import_sorting_all_types(): input_partitions = [ CodePartition(CodeType.PRE_IMPORT_CODE, '#!/usr/bin/env python\n'), CodePartition(CodeType.PRE_IMPORT_CODE, '# -*- coding: UTF-8 -*-\n'), CodePartition(CodeType.PRE_IMPORT_CODE, '"""foo"""\n'), CodePartition(CodeType.IMPORT, 'import os\n'), CodePartition(CodeType.CODE, '\n\nx = 5\n'), ] assert apply_import_sorting(input_partitions) == input_partitions
def test_apply_import_sorting_sorts_imports_with_application_module(): assert apply_import_sorting( [ CodePartition(CodeType.IMPORT, 'import _c_module\n'), CodePartition(CodeType.IMPORT, 'import reorder_python_imports\n'), CodePartition(CodeType.IMPORT, 'import third_party\n'), ], unclassifiable_application_modules=['_c_module'], ) == [ CodePartition(CodeType.IMPORT, 'import third_party\n'), CodePartition(CodeType.NON_CODE, '\n'), CodePartition(CodeType.IMPORT, 'import _c_module\n'), CodePartition(CodeType.IMPORT, 'import reorder_python_imports\n'), ]
def test_apply_import_sorting_maintains_comments(): input_partitions = [ CodePartition(CodeType.IMPORT, 'import foo # noqa\n'), ] assert apply_import_sorting(input_partitions) == input_partitions
def test_apply_import_sorting_trivial(): assert apply_import_sorting([]) == []