mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
more tests
This commit is contained in:
@@ -41,6 +41,7 @@ class Pilot:
|
|||||||
delay (float, optional): Seconds to pause. Defaults to 50ms.
|
delay (float, optional): Seconds to pause. Defaults to 50ms.
|
||||||
"""
|
"""
|
||||||
await asyncio.sleep(delay)
|
await asyncio.sleep(delay)
|
||||||
|
await asyncio.sleep(0)
|
||||||
|
|
||||||
async def wait_for_animation(self) -> None:
|
async def wait_for_animation(self) -> None:
|
||||||
"""Wait for any animation to complete."""
|
"""Wait for any animation to complete."""
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
|
import asyncio
|
||||||
from time import time
|
from time import time
|
||||||
|
|
||||||
from textual.app import App, ComposeResult
|
from textual.app import App, ComposeResult
|
||||||
from textual.widgets import Static
|
from textual.widgets import Static
|
||||||
|
|
||||||
@@ -25,9 +27,19 @@ async def test_animate_height() -> None:
|
|||||||
async with app.run_test() as pilot:
|
async with app.run_test() as pilot:
|
||||||
static = app.query_one(Static)
|
static = app.query_one(Static)
|
||||||
assert static.size.height == 1
|
assert static.size.height == 1
|
||||||
static.styles.animate("height", 100, duration=0.5)
|
static.styles.animate("height", 100, duration=0.5, easing="linear")
|
||||||
start = time()
|
start = time()
|
||||||
|
# Wait for half the animation
|
||||||
|
await pilot.pause(0.25)
|
||||||
|
# Check we reached the half way point
|
||||||
|
assert static.styles.height.value >= 50
|
||||||
|
elapsed = time() - start
|
||||||
|
# Check at least that much time has elapsed
|
||||||
|
assert 0.5 > elapsed > 0.25
|
||||||
|
# Wait for the animation to finished
|
||||||
await pilot.wait_for_animation()
|
await pilot.wait_for_animation()
|
||||||
elapsed = time() - start
|
elapsed = time() - start
|
||||||
|
# Check that the full time has elapsed
|
||||||
assert elapsed > 0.5
|
assert elapsed > 0.5
|
||||||
|
# Check the height reached the maximum
|
||||||
assert static.styles.height.value == 100
|
assert static.styles.height.value == 100
|
||||||
|
|||||||
Reference in New Issue
Block a user