From 92adb047826bb702c5d1eaf8f93f27201a1350e6 Mon Sep 17 00:00:00 2001 From: Chad Elliott <880190+THEtheChad@users.noreply.github.com> Date: Fri, 6 Nov 2026 09:17:31 -0600 Subject: [PATCH] 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 Co-authored-by: FredApps --- crates/ui-egui/tests/it/dialog_role.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/tests/it/dialog_role.rs b/crates/ui-egui/tests/it/dialog_role.rs index 5856c5bffa..c8b136b704 100644 --- a/crates/ui-egui/tests/it/dialog_role.rs +++ b/crates/ui-egui/tests/it/dialog_role.rs @@ -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);