29 lines
671 B
Python
29 lines
671 B
Python
from src.markdown_table import parse_tables
|
|
|
|
def test_parses_simple_two_column_table():
|
|
text = (
|
|
"| Name | Type |\n"
|
|
"|-------|------|\n"
|
|
"| foo | int |\n"
|
|
"| bar | str |\n"
|
|
)
|
|
blocks = parse_tables(text)
|
|
assert len(blocks) == 1
|
|
block = blocks[0]
|
|
assert block.headers == ["Name", "Type"]
|
|
assert block.rows == [["foo", "int"], ["bar", "str"]]
|
|
|
|
def test_ignores_tables_inside_code_fence():
|
|
text = (
|
|
"```\n"
|
|
"| not | a table |\n"
|
|
"| --- | ------- |\n"
|
|
"| x | y |\n"
|
|
"```\n"
|
|
)
|
|
assert parse_tables(text) == []
|
|
|
|
def test_returns_empty_for_plain_markdown():
|
|
text = "# Heading\n\nSome **bold** text.\n"
|
|
assert parse_tables(text) == []
|