Added src code tests

This commit is contained in:
Oly 2018-11-02 14:20:19 +00:00
parent 3e48622ccc
commit 84eca442dc
2 changed files with 73 additions and 12 deletions

View File

@ -8,21 +8,29 @@ from eorg.parser import parse_text
def test_emphasis():
text = "parse emphasis *bold text* _underlined text_ /italic text/ normal text"
expected = [Token(token='TEXT', value='parse emphasis ' ), Token(token='B', value='bold text'), Token(token='TEXT', value=' ' ), Token(token='U', value='underlined text'), Token(token='TEXT', value=' ' ), Token(token='I', value='italic text'), Token('TEXT', ' normal text')]
expected = [
Token(token="TEXT", value="parse emphasis "),
Token(token="B", value="bold text"),
Token(token="TEXT", value=" "),
Token(token="U", value="underlined text"),
Token(token="TEXT", value=" "),
Token(token="I", value="italic text"),
Token("TEXT", " normal text"),
]
result = parse_text(text)
assert result[0].token == 'TEXT'
assert result[0].token == "TEXT"
assert expected[0].value == result[0].value
assert result[1].token == 'B'
assert result[1].token == "B"
assert expected[1].value == result[1].value
assert result[2].token == 'TEXT'
assert result[2].token == "TEXT"
assert expected[2].value == result[2].value
assert result[3].token == 'U'
assert result[3].token == "U"
assert expected[3].value == result[3].value
assert result[4].token == 'TEXT'
assert result[4].token == "TEXT"
assert expected[4].value == result[4].value
assert result[5].token == 'I'
assert result[5].token == "I"
assert expected[5].value == result[5].value
assert result[6].token == 'TEXT'
assert result[6].token == "TEXT"
assert expected[6].value == result[6].value
@ -39,23 +47,58 @@ def test_image():
assert result[2].value == expected[2].value
def test_link():
text = "parse link [[../../test.html][test]] after link"
expected = [
Token("TEXT", "parse link "),
Token("IMG", ["../../test.html", "test"]),
Token("TEXT", " after link"),
]
result = parse_text(text)
assert result[0].value == expected[0].value
assert result[1].value == expected[1].value
assert result[2].value == expected[2].value
def test_example():
text = StringIO(
"""
"""
#+BEGIN_EXAMPLE
*I'm bold text*
/I'm italic text/
_I'm underlined text_
#+END_EXAMPLE""")
#+END_EXAMPLE"""
)
expected = [
Token("BREAK", ""),
Token("EXAMPLE", """*I'm bold text*
Token(
"EXAMPLE",
"""*I'm bold text*
/I'm italic text/
_I'm underlined text_
"""),
""",
),
]
result = parse(text).doc
assert result[0].value == expected[0].value
assert result[1].value == expected[1].value
def test_src_block():
text = StringIO(
"""
#+BEGIN_SRC sh :results output drawer
head -n 5 examples/html-plain/example.py
#+END_SRC"""
)
expected = [
Token("BREAK", ""),
Token("SRC", """head -n 5 examples/html-plain/example.py\n"""),
]
result = parse(text).doc
print(result)
assert result[0].value == expected[0].value
assert result[1].attrs.get('language') == 'sh'
assert result[1].value == expected[1].value

View File

@ -17,3 +17,21 @@ def test_example():
match = re.search(rx, text)
assert match is not None
def test_source():
# invalid if no language specified
text="#+BEGIN_SRC"
rx = const.t_SRC_BEGIN
match = re.search(rx, text)
assert match is None
text="#+BEGIN_SRC "
rx = const.t_SRC_BEGIN
match = re.search(rx, text)
assert match is not None
text="#+BEGIN_SRC sh :results silent"
rx = const.t_SRC_BEGIN
match = re.search(rx, text)
assert match is not None