Add extra snapshit tests

This tests the three main ways of making an option list, and ensures they
all turn out the same.
This commit is contained in:
Dave Pearson
2023-05-07 20:26:12 +01:00
parent b3b98f1089
commit 84ddd09223
3 changed files with 205 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,45 @@
from __future__ import annotations
from rich.text import Text
from textual.app import App, ComposeResult
from textual.containers import Horizontal
from textual.widgets import OptionList
from textual.widgets.option_list import Option
class OptionListApp(App[None]):
def compose( self ) -> ComposeResult:
with Horizontal():
yield OptionList(
"One",
Option("Two"),
None,
Text.from_markup("[red]Three[/]")
)
yield OptionList(id="later-individual")
yield OptionList(id="later-at-once")
def on_mount(self) -> None:
options: list[None | str | Text | Option] = [
"One",
Option("Two"),
None,
Text.from_markup("[red]Three[/]"),
]
option_list = self.query_one("#later-individual", OptionList)
for option in options:
option_list.add_option(option)
option_list.highlighted = 0
option_list = self.query_one("#later-at-once", OptionList)
option_list.add_options([
"One",
Option("Two"),
None,
Text.from_markup("[red]Three[/]"),
])
option_list.highlighted = 0
if __name__ == "__main__":
OptionListApp().run()

View File

@@ -203,6 +203,8 @@ def test_option_list(snap_compare):
assert snap_compare(WIDGET_EXAMPLES_DIR / "option_list_options.py")
assert snap_compare(WIDGET_EXAMPLES_DIR / "option_list_tables.py")
def test_option_list_build(snap_compare):
assert snap_compare(SNAPSHOT_APPS_DIR / "option_list.py")
def test_progress_bar_indeterminate(snap_compare):
assert snap_compare(WIDGET_EXAMPLES_DIR / "progress_bar_isolated_.py", press=["f"])