eorg/tests/test_html.py

62 lines
1.9 KiB
Python

import os
import pytest
from io import StringIO
from eorg.parser import Token
from eorg.parser import parse
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')]
result = parse_text(text)
assert result[0].token == 'TEXT'
assert expected[0].value == result[0].value
assert result[1].token == 'B'
assert expected[1].value == result[1].value
assert result[2].token == 'TEXT'
assert expected[2].value == result[2].value
assert result[3].token == 'U'
assert expected[3].value == result[3].value
assert result[4].token == 'TEXT'
assert expected[4].value == result[4].value
assert result[5].token == 'I'
assert expected[5].value == result[5].value
assert result[6].token == 'TEXT'
assert expected[6].value == result[6].value
def test_image():
text = "parse image [[../../test.jpg][test]] after image"
expected = [
Token("TEXT", "parse image "),
Token("IMG", ["../../test.jpg", "test"]),
Token("TEXT", " after image"),
]
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""")
expected = [
Token("BREAK", ""),
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