Files
iris/tests/common/mod.rs
T
iris 3a74a04a5b Post task updates to the loop instead of waking it
`WakeTaskQueue` becomes `TaskQueue`, which carries the update itself.
Delivery and waking are then one act: the winit host sends it through the
`EventLoopProxy` as a `DefaultEvent::Update`, so there is no channel
beside the loop and nothing has to claim a redraw is needed in order to be
looked at. `Window::request_redraw` is gone from this path; `event`
applies the update and then asks the tree whether anything became dirty,
which is the same question `window_event` already ended with -- now
`schedule_redraw`, called from both.

The loop's message type is `DefaultEvent<State>`, so `Proxy` becomes a
wrapper that takes the application's own `Event` and requires it to be
`Send`, since it now crosses to the task thread by that route.

The harness supplies a channel-backed queue, which is what lets a test
hold updates until it asks for them.

Tests split by subject -- layout, pointer, scroll, tasks -- with the
region helper in `tests/common`.
2026-09-13 21:04:29 -04:00

14 lines
355 B
Rust

use iris::harness::Harness;
use iris::prelude::*;
/// `PixelRegion` neither compares nor prints.
pub fn corners(h: &Harness, id: &impl IdLike) -> (f32, f32, f32, f32) {
let region = h.region(id).expect("widget drew nothing");
(
region.top_left.x,
region.top_left.y,
region.bot_right.x,
region.bot_right.y,
)
}