mirror of https://github.com/Textualize/rich.git
tree tests
This commit is contained in:
parent
59c6eaed7f
commit
f80601a93e
|
@ -40,17 +40,6 @@ class Segment(NamedTuple):
|
|||
"""Get cell length of segment."""
|
||||
return 0 if self.is_control else cell_len(self.text)
|
||||
|
||||
def with_style(self, style: Style) -> "Segment":
|
||||
"""Get a copy of the segment with a new style.
|
||||
|
||||
Args:
|
||||
style (Style): New style to set.
|
||||
|
||||
Returns:
|
||||
Segment: New segment instance.
|
||||
"""
|
||||
return Segment(self.text, style, self.is_control)
|
||||
|
||||
@classmethod
|
||||
def control(cls, text: str, style: Optional[Style] = None) -> "Segment":
|
||||
"""Create a Segment with control codes.
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
from rich.console import Console
|
||||
from rich.tree import Tree
|
||||
|
||||
|
||||
def test_render_single_node():
|
||||
tree = Tree("foo")
|
||||
console = Console(color_system=None, width=20)
|
||||
console.begin_capture()
|
||||
console.print(tree)
|
||||
assert console.end_capture() == "foo \n"
|
||||
|
||||
|
||||
def test_render_single_branch():
|
||||
tree = Tree("foo")
|
||||
tree.add("bar")
|
||||
console = Console(color_system=None, width=20)
|
||||
console.begin_capture()
|
||||
console.print(tree)
|
||||
result = console.end_capture()
|
||||
print(repr(result))
|
||||
expected = "foo \n└── bar \n"
|
||||
assert result == expected
|
||||
|
||||
|
||||
def test_render_double_branch():
|
||||
tree = Tree("foo")
|
||||
tree.add("bar")
|
||||
tree.add("baz")
|
||||
console = Console(color_system=None, width=20)
|
||||
console.begin_capture()
|
||||
console.print(tree)
|
||||
result = console.end_capture()
|
||||
print(repr(result))
|
||||
expected = "foo \n├── bar \n└── baz \n"
|
||||
assert result == expected
|
||||
|
||||
|
||||
def test_render_ascii():
|
||||
tree = Tree("foo")
|
||||
tree.add("bar")
|
||||
tree.add("baz")
|
||||
|
||||
class AsciiConsole(Console):
|
||||
@property
|
||||
def encoding(self):
|
||||
return "ascii"
|
||||
|
||||
console = AsciiConsole(color_system=None, width=20)
|
||||
console.begin_capture()
|
||||
console.print(tree)
|
||||
result = console.end_capture()
|
||||
expected = "foo \n+-- bar \n`-- baz \n"
|
||||
assert result == expected
|
Loading…
Reference in New Issue