refactor: Fixed desired ... handling and more tests
This commit is contained in:
@@ -26,4 +26,8 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
|
||||
return f"{token.first} {token.second}"
|
||||
|
||||
def render_nonbreaking_spaces_dots(self, token):
|
||||
return f" {token.first} "
|
||||
lookup = {
|
||||
"" : "",
|
||||
" " : " "
|
||||
}
|
||||
return f"{lookup[token.first]}{token.second}{lookup[token.third]}"
|
||||
@@ -7,7 +7,6 @@ class NonbreakingSpaces(SpanToken):
|
||||
"""
|
||||
Insert unbreakable space into span token (§ 3)
|
||||
Identifies "§$number", "Abs.$number", "Klasse [A,E,N]" w/ and w\ space between.
|
||||
Identifies "..." with and without leading and trailing space
|
||||
"""
|
||||
pattern = re.compile(r"(§|Abs\.|Klasse)\s?(\d|[NEA])")
|
||||
|
||||
@@ -16,10 +15,16 @@ class NonbreakingSpaces(SpanToken):
|
||||
self.second = match_object.group(2)
|
||||
|
||||
class NonbreakingSpacesDots(SpanToken):
|
||||
pattern = re.compile(r"\s?(\.\.\.)\s?")
|
||||
"""
|
||||
Insert unbreakable space before and after "..." if there is a space
|
||||
Identifies "..." with leading and/or trailing space
|
||||
"""
|
||||
pattern = re.compile(r"(\s?)(\.\.\.)(\s?)")
|
||||
|
||||
def __init__(self, match_object):
|
||||
self.first = match_object.group(1)
|
||||
self.second = match_object.group(2)
|
||||
self.third = match_object.group(3)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -10,10 +10,15 @@ def test_paragraph_html():
|
||||
assert mistletoe.markdown(input, FiftyOhmHtmlRenderer) == paragraph(target)
|
||||
|
||||
def test_three_points_html():
|
||||
input = "Heute hatte ich ... zum Mittagessen."
|
||||
target = "Heute hatte ich ... zum Mittagessen."
|
||||
assertions = {
|
||||
"Heute hatte ich ... zum Mittagessen." : "Heute hatte ich ... zum Mittagessen.",
|
||||
"Niemals hätte ich gedacht, dass...ich ...nicht kann." : "Niemals hätte ich gedacht, dass...ich ...nicht kann.",
|
||||
"Oh nein ...ein Pinguin." : "Oh nein ...ein Pinguin.",
|
||||
"Haha .. . Hahaha" : "Haha .. . Hahaha"
|
||||
}
|
||||
|
||||
assert mistletoe.markdown(input, FiftyOhmHtmlRenderer) == paragraph(target)
|
||||
for key, value in assertions.items():
|
||||
assert mistletoe.markdown(key, FiftyOhmHtmlRenderer) == paragraph(value)
|
||||
|
||||
|
||||
def test_absatz_html():
|
||||
|
||||
Reference in New Issue
Block a user