Issue #3768: dialog_role tests draw glyphs only craft-fonts has as boxes when built without it (#3769)

Settings lists each language by its own name, and Georgian has glyphs only in
the craft-fonts faces, so egui_kittest's missing-glyph panic failed
settings_is_a_dialog_too in every build without CRAFT_FONTS_DIR. Allow missing
glyphs there, as tests/it/accessibility.rs does: these tests check roles and
titles, not glyphs.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: FredApps <FredApps@users.noreply.github.com>
This commit is contained in:
Chad Elliott
2026-11-06 16:17:31 +01:00
committed by GitHub
co-authored by Claude Opus 5.5 FredApps
parent e354de502b
commit 92adb04782
+8 -1
View File
@@ -8,7 +8,14 @@ use lightcraft_ui_egui::{LightcraftApp, Services};
fn harness() -> Harness<'static, LightcraftApp> {
let mut app = LightcraftApp::new(lightcraft_engine::Session::with_demo(), Services { png: None, ..Default::default() });
app.headless_host = true;
let mut h = Harness::builder().with_size(vec2(1500.0, 950.0)).build_ui_state(
let mut builder = Harness::builder().with_size(vec2(1500.0, 950.0));
// Settings lists each language by its own name, and some scripts (Georgian, the CJK
// languages) have glyphs only in the craft-fonts faces (releases always have them): without
// them the names are drawn as boxes, which this check of roles and titles doesn't need
if lightcraft_engine::CRAFT_FONTS.is_empty() {
builder = builder.allow_missing_glyphs();
}
let mut h = builder.build_ui_state(
|ui, app: &mut LightcraftApp| {
app.logic(&ui.ctx().clone());
app.ui(ui);