Compare commits
No commits in common. "aab9cfff0bf69aefa0f625224dd12a688276581c" and "e3642177343e1404550f6cc2e57bfdaa45fd89c2" have entirely different histories.
aab9cfff0b
...
e364217734
2 changed files with 16 additions and 40 deletions
|
@ -134,18 +134,15 @@ def process_file(ifile: TextIOWrapper):
|
||||||
return contents, title
|
return contents, title
|
||||||
|
|
||||||
def process_list(line: str, in_list: bool):
|
def process_list(line: str, in_list: bool):
|
||||||
try:
|
if in_list:
|
||||||
if in_list:
|
if line[0] == "*":
|
||||||
if line[:2] == "* ":
|
line = re.sub(r'^\* (.*)', r'<li>\1</li>', line)
|
||||||
line = re.sub(r'^\* (.*)', r'<li>\1</li>', line)
|
else:
|
||||||
else:
|
in_list = False
|
||||||
in_list = False
|
line = "</ul>\n\n"
|
||||||
line = f"</ul>\n\n{line}"
|
elif line[0] == "*":
|
||||||
elif line[:2] == "* ":
|
line = "<ul>\n" + re.sub(r'^\* (.*)', r'<li>\1</li>', line)
|
||||||
line = "<ul>\n" + re.sub(r'^\* (.*)', r'<li>\1</li>', line)
|
in_list = True
|
||||||
in_list = True
|
|
||||||
except IndexError:
|
|
||||||
in_list = False
|
|
||||||
return line, in_list
|
return line, in_list
|
||||||
|
|
||||||
def process_inline(line: str):
|
def process_inline(line: str):
|
||||||
|
|
|
@ -11,22 +11,14 @@ from gmirator.generate import (
|
||||||
def test_process_file():
|
def test_process_file():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def test_process_list_legit_item():
|
def test_process_list():
|
||||||
test_str = "* this is a list item"
|
|
||||||
assert process_list(test_str, True) == (f"<li>{test_str[2:]}</li>", True)
|
|
||||||
assert process_list(test_str, False) == (f"<ul>\n<li>{test_str[2:]}</li>", True)
|
|
||||||
|
|
||||||
def test_process_list_not_list_items():
|
|
||||||
test_str = "this is a line outside a list"
|
test_str = "this is a line outside a list"
|
||||||
assert process_list(test_str, True) == (f"</ul>\n\n{test_str}", False)
|
assert process_list(test_str, True) == ("</ul>\n\n", False)
|
||||||
assert process_list(test_str, False) == (test_str, False)
|
assert process_list(test_str, False) == (test_str, False)
|
||||||
test_str = "*this is NOT a list item*"
|
test_str = "* this is a list item"
|
||||||
assert process_list(test_str, True) == (f"</ul>\n\n{test_str}", False)
|
assert process_list(test_str, True) == ("<li>this is a list item</li>", True)
|
||||||
assert process_list(test_str, False) == (f"{test_str}", False)
|
assert process_list(test_str, False) == ("<ul>\n<li>this is a list item</li>", True)
|
||||||
|
pass
|
||||||
def test_process_list_empty_line():
|
|
||||||
assert process_list("", True) == ("</ul>\n\n", False)
|
|
||||||
assert process_list("", False) == ("", False)
|
|
||||||
|
|
||||||
def test_process_inline():
|
def test_process_inline():
|
||||||
assert process_inline("*Hello* ~~world~~!") == "<em>Hello</em> <s>world</s>!"
|
assert process_inline("*Hello* ~~world~~!") == "<em>Hello</em> <s>world</s>!"
|
||||||
|
@ -42,17 +34,4 @@ def test_repl_url_internal_gmi_url():
|
||||||
assert new_url == '<a href="/gempage.html">=> title</a><br>\n'
|
assert new_url == '<a href="/gempage.html">=> title</a><br>\n'
|
||||||
|
|
||||||
def test_repl_heading():
|
def test_repl_heading():
|
||||||
line = "# this is h1 title"
|
pass
|
||||||
html_h1 = re.sub(r'^(#+) (.*)', repl_heading, line)
|
|
||||||
line = "## this is h2 title"
|
|
||||||
html_h2 = re.sub(r'^(#+) (.*)', repl_heading, line)
|
|
||||||
line = "### this is h3 title"
|
|
||||||
html_h3 = re.sub(r'^(#+) (.*)', repl_heading, line)
|
|
||||||
assert html_h1 == "<h1># this is h1 title</h1>"
|
|
||||||
assert html_h2 == "<h2>## this is h2 title</h2>"
|
|
||||||
assert html_h3 == "<h3>### this is h3 title</h3>"
|
|
||||||
|
|
||||||
def test_repl_heading_h4():
|
|
||||||
line = "#### this is h4 title"
|
|
||||||
html_h4 = re.sub(r'^(#+) (.*)', repl_heading, line)
|
|
||||||
assert html_h4 == "<h4>#### this is h4 title</h4>"
|
|
||||||
|
|
Loading…
Reference in a new issue