Example #1
0
def test_parser_init_fail():
    for unsupported_filepath in [
            os.path.join(FIXTURE_DIR, ''),
            os.path.join(FIXTURE_DIR, 'dummy.rb'),
    ]:
        with pytest.raises(CodeLanguageUnsupported):
            Parser(unsupported_filepath)
Example #2
0
def test_parser_parse_python_success():
    parser = Parser(os.path.join(FIXTURE_DIR, 'dummy.py'))
    comments = list(parser)

    assert len(comments) == 4

    assert comments[0].line_number_str == '1~3'
    assert comments[0].is_multiline
    assert comments[0].body_str == 'Dummy\nLorem Ipsum\n'

    assert comments[1].line_number_str == '7'
    assert not comments[1].is_multiline
    assert comments[1].body_str == 'nothing to see here!'

    assert comments[2].line_number_str == '8'
    assert not comments[2].is_multiline
    assert comments[2].body_str == 'しかし、日本語でも大丈夫だよ!'

    assert comments[3].line_number_str == '13'
    assert not comments[3].is_multiline
    assert comments[3].body_str == 'Test single-line multiline comment'
Example #3
0
def extract(filepath, fileobj=None):
    return Parser(filepath, fileobj)
Example #4
0
def extract(filepath):
    return Parser(filepath)
Example #5
0
def test_parser_is_supported_code_extension_fail():
    for ext in ['', None, 'rb']:
        assert Parser.is_supported_code_extension(ext) is False
Example #6
0
def test_parser_is_supported_code_extension_success():
    for ext in ['php', 'py', 'go', 'js', 'cpp', 'c', 'java', 'h', 'cc', 'hpp']:
        assert Parser.is_supported_code_extension(ext) is True