feature: added tests for slides
This commit is contained in:
+1
-1
@@ -42,4 +42,4 @@ select = [
|
|||||||
|
|
||||||
[tool.pytest.ini_options]
|
[tool.pytest.ini_options]
|
||||||
addopts = ["--color=yes"]
|
addopts = ["--color=yes"]
|
||||||
markers = ["html", "latex"]
|
markers = ["html", "latex", "slide"]
|
||||||
|
|||||||
@@ -48,9 +48,6 @@ class FiftyOhmHtmlSlideRenderer(FiftyOhmHtmlRenderer):
|
|||||||
qso += '</div>\n'
|
qso += '</div>\n'
|
||||||
return qso
|
return qso
|
||||||
|
|
||||||
def render_note(self, token):
|
|
||||||
return f'<aside class="notes">\n{self.render_inner(token)}\n</aside>\n'
|
|
||||||
|
|
||||||
def render_tag(self, token):
|
def render_tag(self, token):
|
||||||
if token.tagtype == "fragment":
|
if token.tagtype == "fragment":
|
||||||
return f'<div class="fragment">\n{self.render_inner(token)}\n</div>\n'
|
return f'<div class="fragment">\n{self.render_inner(token)}\n</div>\n'
|
||||||
@@ -60,6 +57,6 @@ class FiftyOhmHtmlSlideRenderer(FiftyOhmHtmlRenderer):
|
|||||||
return f'<div id="right">\n{self.render_inner(token)}\n</div>\n'
|
return f'<div id="right">\n{self.render_inner(token)}\n</div>\n'
|
||||||
elif token.tagtype == "note":
|
elif token.tagtype == "note":
|
||||||
return f'<aside class="notes">\n{self.render_inner(token)}\n</aside>\n'
|
return f'<aside class="notes">\n{self.render_inner(token)}\n</aside>\n'
|
||||||
else:
|
|
||||||
return "" # Ignore other tags in slide context
|
return "" # Ignore other tags in slide context anyway in tokenizer
|
||||||
|
|
||||||
|
|||||||
+12
-1
@@ -2,10 +2,11 @@ import mistletoe
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer
|
from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer
|
||||||
|
from renderer.fifty_ohm_html_slide_renderer import FiftyOhmHtmlSlideRenderer
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.html
|
@pytest.mark.html
|
||||||
def test_table_html():
|
def test_qso_html():
|
||||||
assertions = {
|
assertions = {
|
||||||
"<qso>\nfoo\n</qso>": FiftyOhmHtmlRenderer.render_tag_helper("qso", '<div class="qso_own">foo</div>\n', 1, 0)
|
"<qso>\nfoo\n</qso>": FiftyOhmHtmlRenderer.render_tag_helper("qso", '<div class="qso_own">foo</div>\n', 1, 0)
|
||||||
+ "\n",
|
+ "\n",
|
||||||
@@ -21,3 +22,13 @@ def test_table_html():
|
|||||||
|
|
||||||
for assertion in assertions:
|
for assertion in assertions:
|
||||||
assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == assertions[assertion]
|
assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == assertions[assertion]
|
||||||
|
|
||||||
|
@pytest.mark.slide
|
||||||
|
def test_qso_slide():
|
||||||
|
assertions = {
|
||||||
|
"<qso>\nfoo\n> bar\n</qso>":
|
||||||
|
'<div class="qso r-fit-text">\n<div class="qso_own fragment fade-right">foo</div>\n<div class="qso_other fragment fade-left">bar</div>\n</div>\n\n',
|
||||||
|
}
|
||||||
|
|
||||||
|
for assertion in assertions:
|
||||||
|
assert mistletoe.markdown(assertion, FiftyOhmHtmlSlideRenderer) == assertions[assertion]
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import mistletoe
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer
|
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
|
from renderer.fifty_ohm_latex_renderer import FiftyOhmLaTeXRenderer
|
||||||
|
|
||||||
|
|
||||||
@@ -103,3 +104,30 @@ def test_thematic_break_and_tag_latex():
|
|||||||
|
|
||||||
for assertion in assertions:
|
for assertion in assertions:
|
||||||
assert mistletoe.markdown(assertion, FiftyOhmLaTeXRenderer) == assertions[assertion]
|
assert mistletoe.markdown(assertion, FiftyOhmLaTeXRenderer) == assertions[assertion]
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.slide
|
||||||
|
def test_tag_slide():
|
||||||
|
assertions = {
|
||||||
|
"<note>\nFoo\n</note>": '<aside class="notes">\n<p>Foo</p>\n</aside>\n\n',
|
||||||
|
"<fragment>\nFoo\n</fragment>": '<div class="fragment">\n<p>Foo</p>\n</div>\n\n',
|
||||||
|
"<left>\nFoo\n</left>": '<div id="left">\n<p>Foo</p>\n</div>\n\n',
|
||||||
|
"<right>\nFoo\n</right>": '<div id="right">\n<p>Foo</p>\n</div>\n\n',
|
||||||
|
}
|
||||||
|
|
||||||
|
for assertion in assertions:
|
||||||
|
assert mistletoe.markdown(assertion, FiftyOhmHtmlSlideRenderer) == assertions[assertion]
|
||||||
|
|
||||||
|
@pytest.mark.slide
|
||||||
|
def test_slide_break():
|
||||||
|
assertions = {
|
||||||
|
"---\na\n" : "<section>\n<p>a</p>\n</section>\n\n",
|
||||||
|
"---\na\n---\nb\n" : "<section>\n<p>a</p>\n</section>\n\n<section>\n<p>b</p>\n</section>\n\n",
|
||||||
|
"--- attention\na\n" : "<section data-background-color=\"#B8EAFF\">\n<p>a</p>\n</section>\n\n",
|
||||||
|
"--- unit\na\n" : "<section data-background-color=\"#40C08C\">\n<p>a</p>\n</section>\n\n",
|
||||||
|
"--- danger\na\n" : "<section data-background-color=\"#FF756D\">\n<p>a</p>\n</section>\n\n",
|
||||||
|
"--- foo\na\n" : "<section foo>\n<p>a</p>\n</section>\n\n",
|
||||||
|
}
|
||||||
|
|
||||||
|
for assertion in assertions:
|
||||||
|
assert mistletoe.markdown(assertion, FiftyOhmHtmlSlideRenderer) == assertions[assertion]
|
||||||
|
|||||||
Reference in New Issue
Block a user