mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-24 10:09:01 -06:00
LRC-LIB-LIBFOLDERS: deep_folders_app waits for each row before opening it
On the FreeBSD runner a click's synthetic input can arrive a frame or two late, so after opening `/a/b/c/d` the row of `/a/b/c/d/e` was not drawn yet when the next click asked for it. The fixture now steps until each level's chevron is drawn before clicking it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
e07c2bd44e
commit
eb7513c5d2
@@ -1810,9 +1810,14 @@ fn deep_folders_app(deep: &str, size: [f32; 2]) -> Headless {
|
||||
}
|
||||
let paths: Vec<&str> = paths.iter().map(String::as_str).collect();
|
||||
let mut h = folders_app_sized(&paths, size);
|
||||
// each level is opened once its row is drawn (a slow machine may need more than a frame)
|
||||
for level in &levels[..levels.len() - 1] {
|
||||
click(&mut h, &format!("libraryFolderToggle:{level}"));
|
||||
let toggle = format!("libraryFolderToggle:{level}");
|
||||
assert!(h.step_until(T, |h| has(h, &toggle)), "{toggle} is drawn");
|
||||
click(&mut h, &toggle);
|
||||
}
|
||||
let last = format!("libraryFolderToggle:{}", levels[levels.len() - 1]);
|
||||
assert!(h.step_until(T, |h| has(h, &last)), "{last} is drawn");
|
||||
h.settle(SETTLE);
|
||||
h
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user