import mistletoe
import pytest
from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer
from renderer.fifty_ohm_latex_renderer import FiftyOhmLaTeXRenderer
@pytest.mark.html
def test_thematic_break_html():
assertions = {
"---": '\n',
"---\n---": '\n\n',
}
for assertion in assertions:
assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == 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": "Foo
\n",
"\nFoo\n": "",
}
for assertion in assertions:
assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == 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 mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == 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]