tweak to anim test

This commit is contained in:
Will McGugan
2022-11-12 12:22:31 +00:00
parent 46d12fcfe0
commit e9489f194f
2 changed files with 1 additions and 10 deletions

View File

@@ -41,10 +41,7 @@ class Pilot:
delay (float, optional): Seconds to pause. Defaults to 50ms.
"""
# These sleep zeros, are to force asyncio to give up a time-slice,
# So that any pending coroutines have ran
await asyncio.sleep(0)
await asyncio.sleep(delay)
await asyncio.sleep(0)
async def wait_for_animation(self) -> None:
"""Wait for any animation to complete."""

View File

@@ -26,16 +26,10 @@ async def test_animate_height() -> None:
async with app.run_test() as pilot:
static = app.query_one(Static)
assert static.size.height == 1
assert static.styles.height.value == 1
static.styles.animate("height", 100, duration=0.5, easing="linear")
start = perf_counter()
# Wait for half the animation
await pilot.pause(0.25)
# Check we reached the half way point
assert abs(static.styles.height.value - 50) < 5
elapsed = perf_counter() - 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()
elapsed = perf_counter() - start