use std::time::Duration;
use waterui::task::spawn_local;
use waterui::{Binding, ViewExt as _};
use waterui_testing::ui;
#[test]
fn settle_publishes_task_finished_after_wall_clock_io() {
let status = Binding::container(String::from("idle"));
let mut app = ui().mount(move || {
waterui::text!("{status}")
.on_appear(|status: waterui::State<Binding<String>>| {
spawn_local(async move {
async_io::Timer::after(Duration::from_millis(100)).await;
status.set(String::from("ready"));
})
.detach();
})
.state(&status)
});
app.query().label_contains("ready").assert_exists();
}