mirror of https://github.com/Textualize/rich.git
sections docs and test
This commit is contained in:
parent
c6001e5226
commit
36fa43da75
|
@ -96,7 +96,7 @@ Lines
|
|||
|
||||
By default, Tables will show a line under the header only. If you want to show lines between all rows add ``show_lines=True`` to the constructor.
|
||||
|
||||
You can also force a line on the next row by setting ``end_section=True`` on the call to ``add_row()``.
|
||||
You can also force a line on the next row by setting ``end_section=True`` on the call to :meth:`~rich.table.Table.add_row`, or by calling the :meth:`~rich.table.Table.add_section` to add a line between the current and subsequent rows.
|
||||
|
||||
|
||||
Empty Tables
|
||||
|
|
|
@ -462,6 +462,12 @@ class Table(JupyterMixin):
|
|||
)
|
||||
self.rows.append(Row(style=style, end_section=end_section))
|
||||
|
||||
def add_section(self) -> None:
|
||||
"""Add a new section (draw a line after current row)."""
|
||||
|
||||
if self.rows:
|
||||
self.rows[-1].end_section = True
|
||||
|
||||
def __rich_console__(
|
||||
self, console: "Console", options: "ConsoleOptions"
|
||||
) -> "RenderResult":
|
||||
|
|
|
@ -209,6 +209,26 @@ def test_table_show_header_false_substitution(box, result):
|
|||
assert output == result
|
||||
|
||||
|
||||
def test_section():
|
||||
table = Table("foo")
|
||||
table.add_section() # Null-op
|
||||
table.add_row("row1")
|
||||
table.add_row("row2", end_section=True)
|
||||
table.add_row("row3")
|
||||
table.add_row("row4")
|
||||
table.add_section()
|
||||
table.add_row("row5")
|
||||
table.add_section() # Null-op
|
||||
|
||||
console = Console(record=True)
|
||||
console.print(table)
|
||||
output = console.export_text()
|
||||
print(repr(output))
|
||||
expected = "┏━━━━━━┓\n┃ foo ┃\n┡━━━━━━┩\n│ row1 │\n│ row2 │\n├──────┤\n│ row3 │\n│ row4 │\n├──────┤\n│ row5 │\n└──────┘\n"
|
||||
|
||||
assert output == expected
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
render = render_tables()
|
||||
print(render)
|
||||
|
|
Loading…
Reference in New Issue