Compare commits
	
		
			2 commits
		
	
	
		
			e364217734
			...
			aab9cfff0b
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| aab9cfff0b | |||
| 91329e6339 | 
					 2 changed files with 41 additions and 17 deletions
				
			
		|  | @ -134,15 +134,18 @@ def process_file(ifile: TextIOWrapper): | |||
|     return contents, title | ||||
| 
 | ||||
| def process_list(line: str, in_list: bool): | ||||
|     try: | ||||
|         if in_list: | ||||
|         if line[0] == "*": | ||||
|             if line[:2] == "* ": | ||||
|                 line = re.sub(r'^\* (.*)', r'<li>\1</li>', line) | ||||
|             else: | ||||
|                 in_list = False | ||||
|             line = "</ul>\n\n" | ||||
|     elif line[0] == "*": | ||||
|                 line = f"</ul>\n\n{line}" | ||||
|         elif line[:2] == "* ": | ||||
|             line = "<ul>\n" + re.sub(r'^\* (.*)', r'<li>\1</li>', line) | ||||
|             in_list = True | ||||
|     except IndexError: | ||||
|         in_list = False | ||||
|     return line, in_list | ||||
| 
 | ||||
| def process_inline(line: str): | ||||
|  |  | |||
|  | @ -11,14 +11,22 @@ from gmirator.generate import ( | |||
| def test_process_file(): | ||||
|     pass | ||||
| 
 | ||||
| def test_process_list(): | ||||
|     test_str = "this is a line outside a list" | ||||
|     assert process_list(test_str, True) == ("</ul>\n\n", False) | ||||
|     assert process_list(test_str, False) == (test_str, False) | ||||
| def test_process_list_legit_item(): | ||||
|     test_str = "* this is a list item" | ||||
|     assert process_list(test_str, True) == ("<li>this is a list item</li>", True) | ||||
|     assert process_list(test_str, False) == ("<ul>\n<li>this is a list item</li>", True) | ||||
|     pass | ||||
|     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" | ||||
|     assert process_list(test_str, True) == (f"</ul>\n\n{test_str}", False) | ||||
|     assert process_list(test_str, False) == (test_str, False) | ||||
|     test_str = "*this is NOT a list item*" | ||||
|     assert process_list(test_str, True) == (f"</ul>\n\n{test_str}", False) | ||||
|     assert process_list(test_str, False) == (f"{test_str}", False) | ||||
| 
 | ||||
| def test_process_list_empty_line(): | ||||
|     assert process_list("", True) == ("</ul>\n\n", False) | ||||
|     assert process_list("", False) == ("", False) | ||||
| 
 | ||||
| def test_process_inline(): | ||||
|     assert process_inline("*Hello* ~~world~~!") == "<em>Hello</em> <s>world</s>!" | ||||
|  | @ -34,4 +42,17 @@ def test_repl_url_internal_gmi_url(): | |||
|     assert new_url == '<a href="/gempage.html">=> title</a><br>\n' | ||||
| 
 | ||||
| def test_repl_heading(): | ||||
|     pass | ||||
|     line = "# this is h1 title" | ||||
|     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…
	
	Add table
		Add a link
		
	
		Reference in a new issue