Add a test for inheriting from a ListView

Added to test the fail in #1588. Any fix for this should cause this test to pass.
This commit is contained in:
Dave Pearson
2023-01-18 10:27:58 +00:00
parent fc2073386c
commit 9dede19a1f

View File

@@ -0,0 +1,26 @@
from textual.app import App, ComposeResult
from textual.widgets import ListView, ListItem, Label
class MyListView(ListView):
def compose(self) -> ComposeResult:
"""Compose the child widgets."""
for n in range(20):
yield ListView(Label(f"This is item {n}"))
class ListViewApp(App[None]):
"""ListView test app."""
def compose(self) -> ComposeResult:
"""Compose the child widgets."""
yield MyListView()
async def test_inherited_list_view() -> None:
"""A self-populating inherited ListView should work as normal."""
async with ListViewApp().run_test() as pilot:
await pilot.press("tab")
assert pilot.app.query_one(MyListView).index == 0
await pilot.press("down")
assert pilot.app.query_one(MyListView).index == 1