Skip to content

Commit

Permalink
Extend ListView test to test an empty inherited list
Browse files Browse the repository at this point in the history
For testing permutations of Textualize#1588.
  • Loading branch information
davep committed Jan 18, 2023
1 parent 9dede19 commit 76272bc
Showing 1 changed file with 24 additions and 5 deletions.
29 changes: 24 additions & 5 deletions tests/listview/test_inherit_listview.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,42 @@


class MyListView(ListView):
"""Test child class of a ListView."""

def __init__(self, items: int = 0) -> None:
super().__init__()
self._items = items

def compose(self) -> ComposeResult:
"""Compose the child widgets."""
for n in range(20):
yield ListView(Label(f"This is item {n}"))
for n in range(self._items):
yield ListItem(Label(f"This is item {n}"))


class ListViewApp(App[None]):
"""ListView test app."""

def __init__(self, items: int = 0) -> None:
super().__init__()
self._items = items

def compose(self) -> ComposeResult:
"""Compose the child widgets."""
yield MyListView()
yield MyListView(self._items)


async def test_inherited_list_view() -> None:
"""A self-populating inherited ListView should work as normal."""
async def test_empty_inherited_list_view() -> None:
"""An empty self-populating inherited ListView should work as expected."""
async with ListViewApp().run_test() as pilot:
await pilot.press("tab")
assert pilot.app.query_one(MyListView).index is None
await pilot.press("down")
assert pilot.app.query_one(MyListView).index is None


async def test_populated_inherited_list_view() -> None:
"""A self-populating inherited ListView should work as normal."""
async with ListViewApp(30).run_test() as pilot:
await pilot.press("tab")
assert pilot.app.query_one(MyListView).index == 0
await pilot.press("down")
Expand Down

0 comments on commit 76272bc

Please sign in to comment.