コード例 #1
0
def test_partition_source_indented_encoding():
    assert partition_source('   # -*- coding: UTF-8 -*-\n') == [
        CodePartition(
            CodeType.PRE_IMPORT_CODE,
            '   # -*- coding: UTF-8 -*-\n',
        ),
    ]
コード例 #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'),
                            ]
コード例 #3
0
def test_partition_source_indented_encoding():
    assert partition_source('   # -*- coding: UTF-8 -*-\n') == [
        CodePartition(
            CodeType.PRE_IMPORT_CODE,
            '   # -*- coding: UTF-8 -*-\n',
        ),
    ]
コード例 #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'),
                            ]
コード例 #5
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'),
                            ]
コード例 #6
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'),
    ]
コード例 #7
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'),
    ]
コード例 #8
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'),
        ]
コード例 #9
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'),
    ]
コード例 #10
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'),
    ]
コード例 #11
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'),
                            ]
コード例 #12
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'),
    ]
コード例 #13
0
def test_partition_source_code_no_nl():
    assert partition_source('x = 1') == [
        CodePartition(CodeType.CODE, 'x = 1'),
    ]
コード例 #14
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'),
    ]
コード例 #15
0
def test_partition_source_trivial():
    assert partition_source('') == []
コード例 #16
0
def test_partition_source_encoding_no_nl():
    assert partition_source('# -*- coding: UTF-8 -*-') == [
        CodePartition(CodeType.PRE_IMPORT_CODE, '# -*- coding: UTF-8 -*-'),
    ]
コード例 #17
0
def test_partition_source_errors_with_bytes():
    with pytest.raises(TypeError):
        partition_source(b'')
コード例 #18
0
def test_partition_source_encoding_no_nl():
    assert partition_source('# -*- coding: UTF-8 -*-') == [
        CodePartition(CodeType.PRE_IMPORT_CODE, '# -*- coding: UTF-8 -*-'),
    ]
コード例 #19
0
def test_partition_source_shebang_no_nl():
    assert partition_source('#!/usr/bin/env python') == [
        CodePartition(CodeType.PRE_IMPORT_CODE, '#!/usr/bin/env python'),
    ]
コード例 #20
0
def test_partition_source_errors_with_bytes():
    with pytest.raises(TypeError):
        partition_source(b'')
コード例 #21
0
def test_partition_source_trivial():
    assert partition_source('') == []
コード例 #22
0
def test_partition_source_code_no_nl():
    assert partition_source('x = 1') == [
        CodePartition(CodeType.CODE, 'x = 1'),
    ]
コード例 #23
0
def test_partition_source_shebang_no_nl():
    assert partition_source('#!/usr/bin/env python') == [
        CodePartition(CodeType.PRE_IMPORT_CODE, '#!/usr/bin/env python'),
    ]
コード例 #24
0
def test_partion_source_import_no_nl():
    assert partition_source('import os') == [
        CodePartition(CodeType.IMPORT, 'import os'),
    ]
コード例 #25
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'),
    ]
コード例 #26
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'),
    ]
コード例 #27
0
def test_partion_source_import_no_nl():
    assert partition_source('import os') == [
        CodePartition(CodeType.IMPORT, 'import os'),
    ]
コード例 #28
0
def test_partition_source_docstring_no_nl():
    assert partition_source('"""foo"""') == [
        CodePartition(CodeType.PRE_IMPORT_CODE, '"""foo"""'),
    ]
コード例 #29
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'),
    ]
コード例 #30
0
def test_partition_source_docstring_no_nl():
    assert partition_source('"""foo"""') == [
        CodePartition(CodeType.PRE_IMPORT_CODE, '"""foo"""'),
    ]