import pytest
from mistletoe import Document
from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer
from renderer.fifty_ohm_latex_renderer import FiftyOhmLaTeXRenderer
@pytest.mark.html
def test_table_html():
assertions = {
"| l: a |" : "
\n",
"| r: a |" : "\n",
"| l: a |\n| *b* |" : "\n",
"| l: *a* |" : "\n",
"| l: a |\n| [morse:a] |" : "| a |
|---|
| \n\nā\n\nāāā\n\n |
\n",
"| l: a |\n| b |" : "\n",
"| l: abc | r: abc | X: abc |\n| 123 | 456 | 789 | \n | 987 | 654 | 321 | ": "| abc | abc | abc |
|---|
| 123 | 456 | 789 |
| 987 | 654 | 321 |
\n",
}
with FiftyOhmHtmlRenderer() as renderer:
for assertion in assertions:
assert renderer.render(Document(assertion)) == assertions[assertion]
@pytest.mark.latex
def test_thematic_break_latex():
assertions = {
"| l: a |" : "\\begin{DARCtabular}{l}\na\\\\\n\\end{DARCtabular}",
"| l: a |\n| *b* |" : "\\begin{DARCtabular}{l}\na\\\\\n\\emph{b}\\\\\n\\end{DARCtabular}",
"| l: a | X: b |\n| c | d |" : "\\begin{DARCtabular}{lX}\na & b\\\\\nc & d\\\\\n\\end{DARCtabular}",
}
with FiftyOhmLaTeXRenderer() as renderer:
for assertion in assertions:
assert renderer.render(Document(assertion)) == assertions[assertion]