mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
call later
This commit is contained in:
41
tests/test_call_later.py
Normal file
41
tests/test_call_later.py
Normal file
@@ -0,0 +1,41 @@
|
||||
import asyncio
|
||||
from textual.app import App
|
||||
|
||||
|
||||
class CallLaterApp(App[None]):
|
||||
def __init__(self) -> None:
|
||||
self.display_count = 0
|
||||
super().__init__()
|
||||
|
||||
def post_display_hook(self) -> None:
|
||||
self.display_count += 1
|
||||
|
||||
|
||||
async def test_call_later() -> None:
|
||||
"""Check that call later makes a call."""
|
||||
app = CallLaterApp()
|
||||
called_event = asyncio.Event()
|
||||
|
||||
async with app.run_test():
|
||||
app.call_later(called_event.set)
|
||||
await asyncio.wait_for(called_event.wait(), 1)
|
||||
|
||||
|
||||
async def test_call_after_refresh() -> None:
|
||||
"""Check that call later makes a call after a refresh."""
|
||||
app = CallLaterApp()
|
||||
|
||||
display_count = -1
|
||||
|
||||
called_event = asyncio.Event()
|
||||
|
||||
def callback() -> None:
|
||||
nonlocal display_count
|
||||
called_event.set()
|
||||
display_count = app.display_count
|
||||
|
||||
async with app.run_test():
|
||||
app.call_after_refresh(callback)
|
||||
await asyncio.wait_for(called_event.wait(), 1)
|
||||
app_display_count = app.display_count
|
||||
assert app_display_count > display_count
|
||||
Reference in New Issue
Block a user