Exemple #1
0
def test_loc():
    elements = transform(load_test_md('loc.md'))

    assert_loc(5, 8, elements[0])
    assert_loc(9, 15, elements[1])
    assert_loc(16, 17, elements[2])
    eof(elements[3])
Exemple #2
0
def test_seperated_list():
    elements = transform(load_test_md('seperated_list.md'))
    assert 3 == len(elements)
    assert 'line 1\n\nline 2\n\n' == elements[0].content
    assert_loc(1, 4, elements[0])
    assert_loc(5, 5, elements[1])
    eof(elements[2])
def load_and_check(name):
    content = load_test_md(name)
    elements = transform(content)
    h = ErrorCorrectionHandler(content, elements)
    process_errors(h, elements[0])
    executor = DiffOperationExecutor(h.diffs, h.raw_lines)
    return executor
Exemple #4
0
def check(src):

    display_handler = ErrorDisplayHandler()

    for text_element in transform(src.read()):
        process_errors(display_handler, text_element)

    sys.exit(0 if not display_handler.detected_error else 1)
Exemple #5
0
def test_list_block():
    elements = transform(load_test_md('list_block.md'))

    assert 3 == len(elements)
    assert_loc(2, 7, elements[0])
    assert_loc(8, 8, elements[1])

    eof(elements[2])
Exemple #6
0
def test_ref_loc():
    elements = transform(load_test_md('ref.md'))

    assert 5 == len(elements)
    assert_loc(2, 3, elements[0])
    assert_loc(4, 6, elements[1])
    assert_loc(7, 8, elements[2])
    assert_loc(9, 12, elements[3])
    eof(elements[4])
Exemple #7
0
def test_nested_list():
    elements = transform(load_test_md('nested_list.md'))
    assert 7 == len(elements)

    assert 'a 1.\nb 1.\nb 2.\na 2.\nb 3.\nb 4.\n\n' == elements[0].content
    assert_loc(1, 7, elements[0])

    assert_loc(8, 9, elements[1])

    assert 'line\n\nref line.\n\n' == elements[2].content
    assert_loc(10, 13, elements[2])

    assert_loc(14, 15, elements[3])

    assert 'line\n\n\n\n\n\n' == elements[4].content
    assert_loc(16, 21, elements[4])

    assert_loc(22, 22, elements[5])

    eof(elements[6])
Exemple #8
0
def test_link():
    elements = transform(load_test_md('link.md'))
    assert 3 == len(elements)
    assert_loc(3, 11, elements[0])
    assert_loc(12, 12, elements[1])
    eof(elements[2])

    lines = elements[0].content.split('\n')
    expected = [
        '',
        'this',
        'is',
        'a',
        'long',
        'link',
        'a',
        'this is test',
        # this is a test\n(1)\n(2)
        '',
        '',
    ]
    assert expected == lines
Exemple #9
0
def fix(src, dst):
    file_content = preprocessing(src.read())
    text_elements = transform(file_content)

    correction_handler = ErrorCorrectionHandler(file_content, text_elements)
    for text_element in text_elements:
        process_errors(correction_handler, text_element)

    try:
        correction_executor = DiffOperationExecutor(
            correction_handler.diffs,
            correction_handler.raw_lines,
        )
        fixed = correction_executor.apply_diff_operations()
    except RuntimeError:
        click.echo('Something Wrong.')
        sys.exit(1)

    if not dst:
        click.echo(fixed)
    else:
        write_file(dst, fixed)
    sys.exit(0)
Exemple #10
0
def test_table():
    elements = transform(load_test_md('table.md'))
    assert 1 == len(elements)
    eof(elements[0])
Exemple #11
0
def test_yaml_header():
    elements = transform(load_test_md('yaml_header.md'))
    assert 'test line.\n' == elements[0].content
    eof(elements[1])
Exemple #12
0
def test_latex_block():
    elements = transform(load_test_md('latex_block.md'))
    assert 'block 1\n\n\n\n' == elements[0].content
    assert 'block 2\n\n\n\n\n\n' == elements[1].content
    eof(elements[2])
Exemple #13
0
def test_latex_inline():
    elements = transform(load_test_md('latex_inline.md'))
    assert 'a line with $$ words.\n\n' == elements[0].content
    assert 'a line with \\(\\) words.\n\n' == elements[1].content
    assert '会使 $$ 加入到 $$ 中\n' == elements[2].content
    eof(elements[3])
Exemple #14
0
def test_tailing_list():
    elements = transform(load_test_md('tailing_list.md'))
    assert 2 == len(elements)
    assert_loc(1, 9, elements[0])
    eof(elements[1])
Exemple #15
0
def test_newline():
    elements = transform(load_test_md('newline.md'))
    assert 2 == len(elements)
    assert_loc(1, 5, elements[0])
    eof(elements[1])
Exemple #16
0
def test_link_ending():
    elements = transform(load_test_md('link_ending.md'))
    assert 2 == len(elements)
    eof(elements[1])