diff --git a/pyproject.toml b/pyproject.toml index b9f34b5..c1d7ca4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,4 +42,4 @@ select = [ [tool.pytest.ini_options] addopts = ["--color=yes"] -markers = ["html", "latex"] +markers = ["html", "latex", "slide"] diff --git a/renderer/fifty_ohm_html_slide_renderer.py b/renderer/fifty_ohm_html_slide_renderer.py index d5fc61e..138c182 100644 --- a/renderer/fifty_ohm_html_slide_renderer.py +++ b/renderer/fifty_ohm_html_slide_renderer.py @@ -48,9 +48,6 @@ class FiftyOhmHtmlSlideRenderer(FiftyOhmHtmlRenderer): qso += '\n' return qso - def render_note(self, token): - return f'\n' - def render_tag(self, token): if token.tagtype == "fragment": return f'
\n{self.render_inner(token)}\n
\n' @@ -60,6 +57,6 @@ class FiftyOhmHtmlSlideRenderer(FiftyOhmHtmlRenderer): return f'\n' elif token.tagtype == "note": return f'\n' - else: - return "" # Ignore other tags in slide context + + return "" # Ignore other tags in slide context anyway in tokenizer diff --git a/test/test_qso.py b/test/test_qso.py index 5495c7b..231c70c 100644 --- a/test/test_qso.py +++ b/test/test_qso.py @@ -2,10 +2,11 @@ import mistletoe import pytest from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer +from renderer.fifty_ohm_html_slide_renderer import FiftyOhmHtmlSlideRenderer @pytest.mark.html -def test_table_html(): +def test_qso_html(): assertions = { "\nfoo\n": FiftyOhmHtmlRenderer.render_tag_helper("qso", '
foo
\n', 1, 0) + "\n", @@ -21,3 +22,13 @@ def test_table_html(): for assertion in assertions: assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == assertions[assertion] + +@pytest.mark.slide +def test_qso_slide(): + assertions = { + "\nfoo\n> bar\n": + '
\n
foo
\n
bar
\n
\n\n', + } + + for assertion in assertions: + assert mistletoe.markdown(assertion, FiftyOhmHtmlSlideRenderer) == assertions[assertion] diff --git a/test/test_tag.py b/test/test_tag.py index 55d4fbf..7be0c03 100644 --- a/test/test_tag.py +++ b/test/test_tag.py @@ -2,6 +2,7 @@ import mistletoe import pytest from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer +from renderer.fifty_ohm_html_slide_renderer import FiftyOhmHtmlSlideRenderer from renderer.fifty_ohm_latex_renderer import FiftyOhmLaTeXRenderer @@ -103,3 +104,30 @@ def test_thematic_break_and_tag_latex(): 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 mistletoe.markdown(assertion, FiftyOhmHtmlSlideRenderer) == 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", + "--- attention\na\n" : "
\n

a

\n
\n\n", + "--- unit\na\n" : "
\n

a

\n
\n\n", + "--- danger\na\n" : "
\n

a

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

a

\n
\n\n", + } + + for assertion in assertions: + assert mistletoe.markdown(assertion, FiftyOhmHtmlSlideRenderer) == assertions[assertion]