fix superfluous space

This commit is contained in:
Will McGugan 2024-08-26 15:09:07 +01:00
parent c478588f3c
commit 06a7555c36
2 changed files with 28 additions and 3 deletions

View File

@ -677,7 +677,7 @@ class Markdown(JupyterMixin):
and context.stack.top.on_child_close(context, element) and context.stack.top.on_child_close(context, element)
) )
if should_render: if should_render:
if new_line: if new_line and node_type != "inline":
yield _new_line_segment yield _new_line_segment
yield from console.render(element, context.options) yield from console.render(element, context.options)

View File

@ -18,10 +18,10 @@ Sub-heading
Paragraphs are separated Paragraphs are separated
by a blank line. by a blank line.
Two spaces at the end of a line Two spaces at the end of a line
produces a line break. produces a line break.
Text attributes _italic_, Text attributes _italic_,
**bold**, `monospace`. **bold**, `monospace`.
Horizontal rule: Horizontal rule:
@ -174,6 +174,31 @@ def test_partial_table():
assert result == expected assert result == expected
def test_table_with_empty_cells() -> None:
"""Test a table with empty cells is rendered without extra newlines above.
Regression test for #3027 https://github.com/Textualize/rich/issues/3027
"""
complete_table = Markdown(
"""\
| First Header | Second Header |
| ------------- | ------------- |
| Content Cell | Content Cell |
| Content Cell | Content Cell |
"""
)
table_with_empty_cells = Markdown(
"""\
| First Header | |
| ------------- | ------------- |
| Content Cell | Content Cell |
| | Content Cell |
"""
)
result = len(render(table_with_empty_cells).splitlines())
expected = len(render(complete_table).splitlines())
assert result == expected
if __name__ == "__main__": if __name__ == "__main__":
markdown = Markdown(MARKDOWN) markdown = Markdown(MARKDOWN)
rendered = render(markdown) rendered = render(markdown)