import mistletoe import pytest from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer from renderer.fifty_ohm_latex_renderer import FiftyOhmLaTeXRenderer from test.util import paragraph, render_html, render_slide @pytest.mark.html def test_thematic_break_html(): assertions = { "---": '\n', "---\n---": '\n\n', } for assertion in assertions: assert render_html(assertion) == assertions[assertion] @pytest.mark.html def test_tag_html(): assertions = { "\nFoo\n": FiftyOhmHtmlRenderer.render_tag_helper("margin", "

Foo

", 1, 0) + "\n", "\nFoo\n": FiftyOhmHtmlRenderer.render_tag_helper("indepth", "

Foo

", 1, 0) + "\n", "\nFoo\n": FiftyOhmHtmlRenderer.render_tag_helper("margin", "

Foo

", 1, 0) + "\n", "\nFoo\n": FiftyOhmHtmlRenderer.render_tag_helper("tip", "

Foo

", 1, 0) + "\n", "\nFoo\n": FiftyOhmHtmlRenderer.render_tag_helper("person", "

Foo

", 1, 0) + "\n", "\nFoo\n": FiftyOhmHtmlRenderer.render_tag_helper("tip", "

Foo

", 1, 0) + "\n", "\nFoo\n": FiftyOhmHtmlRenderer.render_tag_helper("indepth", "

Foo

", 1, 0) + "\n", "\nFoo\n": FiftyOhmHtmlRenderer.render_tag_helper("unit", "

Foo

", 1, 0) + "\n", "\nFoo\n": FiftyOhmHtmlRenderer.render_tag_helper("danger", "

Foo

", 1, 0) + "\n", "\nFoo\n": FiftyOhmHtmlRenderer.render_tag_helper("wordorigin", "

Foo

", 1, 0) + "\n", "\nFoo\n": "

Foo

\n", "\nFoo\n": "", "Foo": paragraph("Foo"), } for assertion in assertions: assert render_html(assertion) == assertions[assertion] @pytest.mark.html def test_thematic_break_and_tag_html(): assertions = { "---\n\nFoo\n": '\n' + FiftyOhmHtmlRenderer.render_tag_helper("margin", "

Foo

", 1, 1) + "\n", "---\n\nFoo\n\n\nFoo\n": '\n' + FiftyOhmHtmlRenderer.render_tag_helper("margin", "

Foo

", 1, 1) + "\n" + FiftyOhmHtmlRenderer.render_tag_helper("margin", "

Foo

", 2, 1) + "\n", "---\n\nFoo\n\n---\n\nFoo\n": '\n' + FiftyOhmHtmlRenderer.render_tag_helper("margin", "

Foo

", 1, 1) + '\n\n' + FiftyOhmHtmlRenderer.render_tag_helper("margin", "

Foo

", 2, 2) + "\n", } for assertion in assertions: assert render_html(assertion) == assertions[assertion] @pytest.mark.latex def test_thematic_break_latex(): assertions = { "---": "", "---\n---": "", } for assertion in assertions: assert mistletoe.markdown(assertion, FiftyOhmLaTeXRenderer) == assertions[assertion] @pytest.mark.latex def test_tag_latex(): assertions = { "\nFoo\n": "\\Margin{\nFoo\n}", "\nFoo\n": "\\MarginDanger{\nFoo\n}", "\nFoo\n": "\\MarginWarning{\nFoo\n}", "\nFoo\n": "\\MarginAttention{\nFoo\n}", "\nFoo\n": "\\MarginTip{\nFoo\n}", "\nFoo\n": "\\WebTip{\nFoo\n}", "\nFoo\n": "\\MarginUnit{\nFoo\n}", "\nFoo\n": "\\MarginInDepth{\nFoo\n}", "\nFoo\n": "\\MarginWebInDepth{\nFoo\n}", "\nFoo\n": "\\WebMargin{\nFoo\n}", "\nFoo\n": "\\FullWidth{\nFoo\n}", "\nFoo\n": "\nFoo\n", "\nFoo\n": "", } for assertion in assertions: assert mistletoe.markdown(assertion, FiftyOhmLaTeXRenderer) == assertions[assertion] @pytest.mark.latex def test_thematic_break_and_tag_latex(): assertions = { "---\n\nFoo\n": "\\Margin{\nFoo\n}", "---\n\nFoo\n\n\nFoo\n": "\\Margin{\nFoo\n}\\Margin{\nFoo\n}", "---\n\nFoo\n\n---\n\nFoo\n": "\\Margin{\nFoo\n}\\Margin{\nFoo\n}", } for assertion in assertions: assert mistletoe.markdown(assertion, FiftyOhmLaTeXRenderer) == assertions[assertion] @pytest.mark.slide def test_tag_slide(): assertions = { "\nFoo\n": '\n\n', "\nFoo\n": '
\n

Foo

\n
\n\n', "\nFoo\n": '
\n

Foo

\n
\n\n', "\nFoo\n": '\n\n', } for assertion in assertions: assert render_slide(assertion) == assertions[assertion] @pytest.mark.slide def test_slide_break(): assertions = { "---\na\n": "
\n

a

\n
\n\n", "---\na\n---\nb\n": "
\n

a

\n
\n\n
\n

b

\n
\n\n", "--- foo\na\n": "
\n

a

\n
\n\n", "--- foo bar\na\n": "
\n

a

\n
\n\n", "--- foo bar \na\n": "
\n

a

\n
\n\n", } for assertion in assertions: assert render_slide(assertion) == assertions[assertion]