Pull request #4: Feature/quotes token
Merge in FRAG/50ohm.de from feature/quotes-token to main * commit 'e15a2109bb8dcc7f8bec2ebcd44df33d78dc967e': refactor: fixed library import feature: add quote renderer feature: add util function for testing
This commit is contained in:
@@ -1,12 +1,15 @@
|
||||
from mistletoe import HtmlRenderer
|
||||
|
||||
from renderer.comment import Comment
|
||||
from renderer.quote import Quote
|
||||
|
||||
|
||||
class FiftyOhmHtmlRenderer(HtmlRenderer):
|
||||
def __init__(self):
|
||||
super().__init__(Comment)
|
||||
super().__init__(Comment, Quote)
|
||||
|
||||
def render_comment():
|
||||
return None
|
||||
|
||||
def render_quote(self, token):
|
||||
return f"„{self.render_inner(token)}“"
|
||||
@@ -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'"([^"]+)"')
|
||||
@@ -0,0 +1,19 @@
|
||||
import mistletoe
|
||||
|
||||
from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer
|
||||
from test.util import paragraph
|
||||
|
||||
|
||||
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 <em>te1</em>“ filltext „qu ot e2“',
|
||||
'""' : '""',
|
||||
}
|
||||
|
||||
for assertion in assertions:
|
||||
assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == paragraph(assertions[assertion])
|
||||
@@ -0,0 +1,2 @@
|
||||
def paragraph(text) :
|
||||
return f'<p>{text}</p>\n'
|
||||
Reference in New Issue
Block a user