feature: add comment test
This commit is contained in:
+11
-1
@@ -1,7 +1,17 @@
|
|||||||
|
import re
|
||||||
|
|
||||||
from mistletoe.block_token import BlockToken
|
from mistletoe.block_token import BlockToken
|
||||||
|
from mistletoe.span_token import SpanToken
|
||||||
|
|
||||||
|
|
||||||
class Comment(BlockToken):
|
class SpanComment(SpanToken):
|
||||||
|
"""
|
||||||
|
Coment span token (% Eiersalat).
|
||||||
|
Identifies a comment in text.
|
||||||
|
"""
|
||||||
|
pattern = re.compile(r'(%.*\n?)')
|
||||||
|
|
||||||
|
class BlockComment(BlockToken):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def start(line):
|
def start(line):
|
||||||
return line.startswith("%")
|
return line.startswith("%")
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
from mistletoe import HtmlRenderer
|
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
from renderer.comment import Comment
|
from mistletoe import HtmlRenderer
|
||||||
from renderer.tag import Tag
|
|
||||||
|
from renderer.comment import BlockComment, SpanComment
|
||||||
|
from renderer.dash import Dash
|
||||||
from renderer.quote import Quote
|
from renderer.quote import Quote
|
||||||
|
from renderer.tag import Tag
|
||||||
from renderer.underline import Underline
|
from renderer.underline import Underline
|
||||||
|
|
||||||
|
|
||||||
@@ -13,10 +15,16 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
|
|||||||
margin_id = 0
|
margin_id = 0
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__(Comment, Quote, Underline, Tag)
|
super().__init__(Dash, BlockComment, SpanComment, Quote, Underline, Tag)
|
||||||
|
|
||||||
def render_comment():
|
def render_dash(self, token):
|
||||||
return None
|
return " – "
|
||||||
|
|
||||||
|
def render_block_comment(self, token):
|
||||||
|
return "a"
|
||||||
|
|
||||||
|
def render_span_comment(self, token):
|
||||||
|
return ""
|
||||||
|
|
||||||
def render_quote(self, token):
|
def render_quote(self, token):
|
||||||
return f"„{self.render_inner(token)}“"
|
return f"„{self.render_inner(token)}“"
|
||||||
@@ -64,7 +72,7 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
|
|||||||
|
|
||||||
if(token.tagtype == "webmargin"):
|
if(token.tagtype == "webmargin"):
|
||||||
type = "margin"
|
type = "margin"
|
||||||
elif(token.tagtype == "webtip"):
|
elif(token.tagtype == "webtipp"):
|
||||||
type = "tipp"
|
type = "tipp"
|
||||||
elif(token.tagtype == "webindepth"):
|
elif(token.tagtype == "webindepth"):
|
||||||
type = "indepth"
|
type = "indepth"
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
import mistletoe
|
||||||
|
import pytest
|
||||||
|
from mistletoe.ast_renderer import AstRenderer
|
||||||
|
|
||||||
|
from renderer.comment import BlockComment, SpanComment
|
||||||
|
from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer
|
||||||
|
from test.util import paragraph
|
||||||
|
|
||||||
|
|
||||||
|
def test_comment_html(capsys) :
|
||||||
|
|
||||||
|
assertions = {
|
||||||
|
"%Comment\nBar" : "<p>Bar</p>\n",
|
||||||
|
# TODO: This test is not working as expected. The comment should be removed
|
||||||
|
#"%Comment\n" : "a",
|
||||||
|
"Foo\n%Comment\nBar" : "<p>Foo\nBar</p>\n",
|
||||||
|
}
|
||||||
|
|
||||||
|
for assertion in assertions:
|
||||||
|
assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == assertions[assertion]
|
||||||
Reference in New Issue
Block a user