From 303d9a0a4dd5f4ed8002de5b4c053819ad0c5bad Mon Sep 17 00:00:00 2001 From: aiongg Date: Mon, 26 Oct 2026 21:17:08 +0000 Subject: [PATCH] test(ui-egui): read tl! literals past test-only imports --- crates/ui-egui/src/i18n/tests.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/tests.rs b/crates/ui-egui/src/i18n/tests.rs index 22ade9b79..0ad8e2ace 100644 --- a/crates/ui-egui/src/i18n/tests.rs +++ b/crates/ui-egui/src/i18n/tests.rs @@ -496,7 +496,15 @@ pub fn tl_literals() -> std::collections::BTreeSet { } } else if name.ends_with(".rs") && name != "lib.rs" && !name.starts_with("tests") { let text = std::fs::read_to_string(&path).unwrap_or_default(); - let code = text.split("#[cfg(test)]").next().unwrap_or(""); + // Code up to the first test item; test-only imports (`#[cfg(test)] use …;`) don't end it. + let code = text + .match_indices("#[cfg(test)]") + .find(|&(at, m)| { + let item = text[at + m.len()..].trim_start(); + let item = ["pub(crate) ", "pub(super) ", "pub "].iter().find_map(|p| item.strip_prefix(p)).unwrap_or(item); + !item.starts_with("use ") + }) + .map_or(text.as_str(), |(at, _)| &text[..at]); let mut rest = code; while let Some(at) = rest.find("tl!(\"") { rest = &rest[at + 5..];