mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Extend ListView test to test an empty inherited list
For testing permutations of #1588.
This commit is contained in:
@@ -3,23 +3,42 @@ from textual.widgets import ListView, ListItem, Label
|
||||
|
||||
|
||||
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")
|
||||
|
||||
Reference in New Issue
Block a user