import pytest from renderer.document 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\n\n\n\n\n
a
\n', # noqa: E501 "| r: a |": '\n\n\n\n\n\n
a
\n', # noqa: E501 "| c: a |": '\n\n\n\n\n\n
a
\n', # noqa: E501 "| l: a |\n| b |": '\n\n\n\n\n\n\n\n\n\n\n
a
b
\n', # noqa: E501 "| l: a |\n| b |\n| c |": '\n\n\n\n\n\n\n\n\n\n\n\n\n\n
a
b
c
\n', # noqa: E501 "| a |\n| b |\n| c |": '\n\n\n\n\n\n\n\n\n\n\n\n\n\n
a
b
c
\n', # noqa: E501 "| l: a |\n| *b* |": '\n\n\n\n\n\n\n\n\n\n\n
a
b
\n', # noqa: E501 "| l: a |\n| b |\n[table:n_ab:A och B]": '\n\n\n\n\n\n\n\n\n\n\n\n
a
b
Tabell 1: A och B
\n', # noqa: E501 "| l: *a* |": '\n\n\n\n\n\n
a
\n', # noqa: E501 "| l: a |\n| [morse:a] |": '\n\n\n\n\n\n\n\n\n\n\n
a
\n\nā–„\n\nā–„ā–„ā–„\n\n
\n', # noqa: E501 "| l: abc | r: abc | X: abc |\n| 123 | 456 | 789 | \n | 987 | 654 | 321 | ": '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
abcabcabc
123456789
987654321
\n', # noqa: E501 } 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]