From d73914b2b9c0523dc15e98764d4e39e85c0bf34c Mon Sep 17 00:00:00 2001 From: "Prof. Dr. Matthias Jung DL9MJ" Date: Wed, 14 May 2025 20:28:20 +0200 Subject: [PATCH] feature: add thest for photo --- renderer/fifty_ohm_latex_renderer.py | 2 +- renderer/photo.py | 2 +- test/test_photo.py | 26 ++++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 test/test_photo.py diff --git a/renderer/fifty_ohm_latex_renderer.py b/renderer/fifty_ohm_latex_renderer.py index 83891d1..fe242c4 100644 --- a/renderer/fifty_ohm_latex_renderer.py +++ b/renderer/fifty_ohm_latex_renderer.py @@ -113,4 +113,4 @@ class FiftyOhmLaTeXRenderer(LaTeXRenderer): \label{{{ref}}}""" def render_photo(self, token) : - return self.render_picture_helper(token.id, token.ref, token.text, token.number) \ No newline at end of file + return self.render_photo_helper(token.id, token.ref, token.text, token.number) \ No newline at end of file diff --git a/renderer/photo.py b/renderer/photo.py index a8676ec..c167887 100644 --- a/renderer/photo.py +++ b/renderer/photo.py @@ -10,7 +10,7 @@ class Photo(SpanToken): """ parse_inner = False - pattern = re.compile(r"\[photo:(\d+):(.+):(.+)\]") + pattern = re.compile(r"\[photo:(\d+):([^:\]]+):([^:\]]+)\]") def __init__(self, match_object): self.id = match_object.group(1) diff --git a/test/test_photo.py b/test/test_photo.py new file mode 100644 index 0000000..6e0c042 --- /dev/null +++ b/test/test_photo.py @@ -0,0 +1,26 @@ +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 + + +@pytest.mark.html +def test_photo_html(): + assertions = { + "[photo:123:abc:Text]": FiftyOhmHtmlRenderer.render_photo_helper("123", "abc", "Text", "TODO"), + } + + for assertion in assertions: + assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == paragraph(assertions[assertion]) + + +@pytest.mark.latex +def test_photo_latex(): + assertions = { + "[photo:123:abc:Text]": FiftyOhmLaTeXRenderer.render_photo_helper("123", "abc", "Text", "TODO"), + } + + for assertion in assertions: + assert mistletoe.markdown(assertion, FiftyOhmLaTeXRenderer) == "\n" + assertions[assertion] + "\n"