From dbe548c9e30282a160114127eb964c1a85e9ae36 Mon Sep 17 00:00:00 2001 From: "Prof. Dr. Matthias Jung DL9MJ" Date: Sat, 7 Dec 2024 15:04:43 +0100 Subject: [PATCH] feature: add quote renderer --- renderer/quote.py | 11 +++++++++++ test/__init__.py | 0 test/test_quote.py | 19 +++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 renderer/quote.py create mode 100644 test/__init__.py create mode 100644 test/test_quote.py diff --git a/renderer/quote.py b/renderer/quote.py new file mode 100644 index 0000000..01a381b --- /dev/null +++ b/renderer/quote.py @@ -0,0 +1,11 @@ +import re + +from mistletoe.span_token import SpanToken + + +class Quote(SpanToken): + """ + Quote span token ("Eiersalat"). + Identifies quoted text. + """ + pattern = re.compile(r'"([^"]+)"') diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/test/test_quote.py b/test/test_quote.py new file mode 100644 index 0000000..72cc2c4 --- /dev/null +++ b/test/test_quote.py @@ -0,0 +1,19 @@ +import mistletoe +from test.util import paragraph + +from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer + + +def test_quote_html() : + + assertions = { + '"quote"' : '„quote“', + '" quote "' : '„ quote “', + '"quote" "' : '„quote“ "', + '"quo te1" filltext "qu ot e2"' : '„quo te1“ filltext „qu ot e2“', + '"quo *te1*" filltext "qu ot e2"' : '„quo te1“ filltext „qu ot e2“', + '""' : '""', + } + + for assertion in assertions: + assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == paragraph(assertions[assertion])