Exemple #1
0
def test_partition_source_indented_encoding():
    assert partition_source('   # -*- coding: UTF-8 -*-\n') == [
        CodePartition(
            CodeType.PRE_IMPORT_CODE,
            '   # -*- coding: UTF-8 -*-\n',
        ),
    ]
Exemple #2
0
def test_partition_source_comment_lines():
    assert partition_source('# hello world\n'
                            'import os\n', ) == [
                                CodePartition(CodeType.PRE_IMPORT_CODE,
                                              '# hello world\n'),
                                CodePartition(CodeType.IMPORT, 'import os\n'),
                            ]
Exemple #3
0
def test_partition_source_encoding_and_shebang():
    assert partition_source(
        '#!/usr/bin/env python\n'
        '# -*- coding: UTF-8 -*-\n', ) == [
            CodePartition(CodeType.PRE_IMPORT_CODE, '#!/usr/bin/env python\n'),
            CodePartition(CodeType.PRE_IMPORT_CODE,
                          '# -*- coding: UTF-8 -*-\n'),
        ]
Exemple #4
0
def test_partition_source_unicode_docstring():
    assert partition_source('# -*- coding: UTF-8 -*-\n'
                            'u"""☃☃☃"""\n', ) == [
                                CodePartition(CodeType.PRE_IMPORT_CODE,
                                              '# -*- coding: UTF-8 -*-\n'),
                                CodePartition(CodeType.PRE_IMPORT_CODE,
                                              'u"""☃☃☃"""\n'),
                            ]
Exemple #5
0
def test_partition_source_multiple_docstrings():
    assert partition_source(
        '"""foo"""\n'
        '"""bar"""\n', ) == [
            # only the first docstring should count as a docstring
            CodePartition(CodeType.PRE_IMPORT_CODE, '"""foo"""\n'),
            CodePartition(CodeType.PRE_IMPORT_CODE, '"""bar"""\n'),
        ]
Exemple #6
0
def test_partition_source_blank_lines_with_whitespace():
    assert partition_source('import os\n'
                            '\n'
                            '    \n'
                            'import sys\n', ) == [
                                CodePartition(CodeType.IMPORT, 'import os\n'),
                                CodePartition(CodeType.NON_CODE, '\n'),
                                CodePartition(CodeType.NON_CODE, '    \n'),
                                CodePartition(CodeType.IMPORT, 'import sys\n'),
                            ]
Exemple #7
0
def test_partition_source_import_inside_code_not_an_import():
    assert partition_source('x = 1\nimport os\n') == [
        CodePartition(CodeType.CODE, 'x = 1\nimport os\n'),
    ]
Exemple #8
0
def test_partition_source_import_contains_comment():
    # We want to maintain comments with imports
    assert partition_source('from foo import *  # noqa\n') == [
        CodePartition(CodeType.IMPORT, 'from foo import *  # noqa\n'),
    ]
Exemple #9
0
def test_partion_source_import_no_nl():
    assert partition_source('import os') == [
        CodePartition(CodeType.IMPORT, 'import os'),
    ]
Exemple #10
0
def test_partition_source_encoding_no_nl():
    assert partition_source('# -*- coding: UTF-8 -*-') == [
        CodePartition(CodeType.PRE_IMPORT_CODE, '# -*- coding: UTF-8 -*-'),
    ]
Exemple #11
0
def test_partition_source_shebang_no_nl():
    assert partition_source('#!/usr/bin/env python') == [
        CodePartition(CodeType.PRE_IMPORT_CODE, '#!/usr/bin/env python'),
    ]
Exemple #12
0
def test_partition_source_errors_with_bytes():
    with pytest.raises((AttributeError, TypeError)):
        partition_source(b'')  # type: ignore
Exemple #13
0
def test_partition_source_trivial():
    assert partition_source('') == []
Exemple #14
0
def test_partition_source_code_no_nl():
    assert partition_source('x = 1') == [
        CodePartition(CodeType.CODE, 'x = 1'),
    ]
Exemple #15
0
def test_partition_source_docstring_no_nl():
    assert partition_source('"""foo"""') == [
        CodePartition(CodeType.PRE_IMPORT_CODE, '"""foo"""'),
    ]
Exemple #16
0
def test_partition_source_errors_with_bytes():
    with pytest.raises(TypeError):
        partition_source(b'')