Exemple #1
0
def test_pos_map():
    lx = Lexer.from_source(t1)
    psr = Parser(lx, commands)
    root = psr.parse()
    root.render()
    pmap = root.dump_pos_map()

    tp1 = TextPos.from_source('')
    tp2 = TextPos.from_source(r0)

    _, st, en = pmap.dest_to_src_range(tp1, tp2)
    print(repr(st), repr(en))
    assert r0[tp1.offset:tp2.offset] == t0[st.offset:en.offset]
Exemple #2
0
def test_pos_map_rev3():
    lx = Lexer.from_source(t1)
    psr = Parser(lx, commands)
    root = psr.parse()
    root.render()
    pmap = root.dump_pos_map()

    tp1 = TextPos.from_source(t1[:26])
    tp2 = TextPos.from_source(t1[:35])

    st, en = pmap.src_to_dest_range(tp1, tp2)
    print(repr(st), repr(en))
    assert t1[tp1.offset:tp2.offset] == r1[st.offset:en.offset]
Exemple #3
0
def test_error_3():
    lx = Lexer.from_source(e3)
    psr = Parser(lx, commands)
    with pytest.raises(UnpairedBracketError):
        psr.parse().render()
Exemple #4
0
def test_error_1():
    lx = Lexer.from_source(e1)
    psr = Parser(lx, commands)
    with pytest.raises(UnexpectedEndOfFile):
        psr.parse().render()
Exemple #5
0
def test_clean_3():
    lx = Lexer.from_source(t3)
    psr = Parser(lx, commands)
    root = psr.parse()
    assert root.render() == r3