Skip to content

Commit

Permalink
Tests: Extend Tree tests: basic keys + nested behavior (#831)
Browse files Browse the repository at this point in the history
Co-authored-by: Aleksei Stepanov <alekseis@nvidia.com>
  • Loading branch information
penguinolog and Aleksei Stepanov committed Feb 22, 2024
1 parent 9a65217 commit 1d06c67
Showing 1 changed file with 77 additions and 22 deletions.
99 changes: 77 additions & 22 deletions tests/test_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,35 +68,90 @@ def test_basic(self):

widget = urwid.TreeListBox(urwid.TreeWalker(root))
size = (15, 5)
self.assertEqual(
(
"- /: root ",
" 1: child_1 ",
" 2: child_2 ",
" 3: child_3 ",
" ",
),
widget.render(size).decoded_text,
expanded = (
"- /: root ",
" 1: child_1 ",
" 2: child_2 ",
" 3: child_3 ",
" ",
)
collapsed = (
"+ /: root ",
*(" " * size[0] for _ in range(size[1] - 1)),
)
self.assertEqual(expanded, widget.render(size).decoded_text)
widget.keypress(size, "-")
self.assertEqual(
(
"+ /: root ",
" ",
" ",
" ",
" ",
self.assertEqual(collapsed, widget.render(size).decoded_text)
widget.keypress(size, "+")
self.assertEqual(expanded, widget.render(size).decoded_text)
widget.keypress(size, "down")
self.assertIs(root, widget.focus_position)
widget.keypress(size, "-")
self.assertEqual(collapsed, widget.render(size).decoded_text)
widget.keypress(size, "right")
self.assertEqual(expanded, widget.render(size).decoded_text)

def test_nested_behavior(self):
root = SelfRegisteringParent(
"root",
key="/",
children=(
SelfRegisteringParent(
f"nested_{idx}",
key=f"{idx}/",
children=(SelfRegisteringChild(f"child_{idx}{cidx}", key=str(cidx)) for cidx in range(1, 4)),
)
for idx in range(1, 4)
),
widget.render(size).decoded_text,
)
widget = urwid.TreeListBox(urwid.TreeWalker(root))
size = (18, 13)
expanded = (
"- /: root ",
" - 1/: nested_1 ",
" 1: child_11 ",
" 2: child_12 ",
" 3: child_13 ",
" - 2/: nested_2 ",
" 1: child_21 ",
" 2: child_22 ",
" 3: child_23 ",
" - 3/: nested_3 ",
" 1: child_31 ",
" 2: child_32 ",
" 3: child_33 ",
)
collapsed = (
"+ /: root ",
*(" " * size[0] for _ in range(size[1] - 1)),
)
self.assertEqual(expanded, widget.render(size).decoded_text)
widget.keypress(size, "-")
self.assertEqual(collapsed, widget.render(size).decoded_text)
widget.keypress(size, "+")
self.assertEqual(expanded, widget.render(size).decoded_text)
widget.keypress(size, "down")
widget.keypress(size, "-")
self.assertEqual(
(
"- /: root ",
" 1: child_1 ",
" 2: child_2 ",
" 3: child_3 ",
" ",
"- /: root ",
" + 1/: nested_1 ",
" - 2/: nested_2 ",
" 1: child_21 ",
" 2: child_22 ",
" 3: child_23 ",
" - 3/: nested_3 ",
" 1: child_31 ",
" 2: child_32 ",
" 3: child_33 ",
" ",
" ",
" ",
),
widget.render(size).decoded_text,
)
widget.keypress(size, "right")
self.assertEqual(expanded, widget.render(size).decoded_text)
widget.keypress(size, "left")
widget.keypress(size, "-")
self.assertEqual(collapsed, widget.render(size).decoded_text)

0 comments on commit 1d06c67

Please sign in to comment.