use std::time::{Duration, Instant};
use egui::accesskit::Role;
use egui_kittest::Harness;
use egui_kittest::kittest::Queryable as _;
pub async fn run_async_harness<State>(harness: &mut Harness<'_, State>) {
let timeout = Duration::from_secs(20);
let start = Instant::now();
loop {
assert!(
start.elapsed() <= timeout,
"Test timed out waiting for table to load"
);
harness.run_steps(2);
tokio::task::yield_now().await;
if harness.query_by_role(Role::ProgressIndicator).is_none() {
break;
}
}
}