Files
vangel76 c54b542274 Tests: Match System resolves to English in ui-egui test builds
Fixes #3244.

The ui-egui tests look up English labels, but Session::default() keeps the
language pref "system", so on a German (or any non-English) system they
read translated labels and fail. Match System now resolves to English under
cfg(test) (lib tests) and under a new test-only `test-support` feature,
which the crate's own dev-dependency on itself turns on for tests/it,
examples and workspace test builds. Product builds are unchanged; tests
about a translation still set their language explicitly. The Match System
test now asserts the English pin explicitly.
2026-11-07 16:11:14 +01:00

73 lines
2.9 KiB
TOML

[package]
name = "effectcraft-ui-egui"
description = "The EffectCraft egui frontend (swappable): docking panels, composition viewer, timeline, effect controls, control channel"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
[lints]
workspace = true
[dependencies]
craft-ui = { workspace = true }
craft-quit = { workspace = true, features = ["egui"] }
effectcraft-time = { workspace = true }
effectcraft-geom = { workspace = true }
effectcraft-color = { workspace = true }
effectcraft-keyframe = { workspace = true }
effectcraft-project = { workspace = true }
effectcraft-path = { workspace = true }
effectcraft-text = { workspace = true }
effectcraft-render = { workspace = true }
effectcraft-engine = { workspace = true }
effectcraft-gpu = { workspace = true }
egui = { workspace = true }
egui_extras = { workspace = true }
eframe = { workspace = true, features = ["default_fonts", "wgpu", "accesskit", "clipboard"] }
serde = { workspace = true }
serde_json = { workspace = true }
log = { workspace = true }
chrono = { workspace = true }
rayon = { workspace = true }
web-time = { workspace = true }
kurbo = { workspace = true }
image = { workspace = true }
# Half-float viewer frames of 32 bpc projects (F16C is picked at run time).
half = { workspace = true }
bytemuck = { workspace = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
# Floating panels open in OS windows of their own on desktop; the web keeps them in the page.
craft-ui = { workspace = true, features = ["native-windows"] }
craft-update = { workspace = true }
# Waits for the display pass's error scopes (immediately ready on native wgpu).
pollster = { workspace = true }
sys-locale = { workspace = true }
[features]
# Tests only, never enable in a product: Settings ▸ General ▸ Language ▸ Match System resolves to
# English, so English label lookups pass on any system language (#3244). The self dev-dependency
# below turns it on wherever dev-dependencies are built: this crate's integration tests, its
# examples (`snapshot` shots are deterministic English unless a step sets a language) and
# workspace test builds of the apps (`cargo test --workspace`).
test-support = []
[dev-dependencies]
# This crate's own integration tests build it with `test-support` (see `[features]`).
effectcraft-ui-egui = { workspace = true, features = ["test-support"] }
# Fonts for kittest: the workspace `egui` features are what test roots resolve, but stating them
# here documents the requirement (kittest's own dev-dependencies do not propagate to consumers).
egui = { workspace = true, features = ["default_fonts", "monochrome_emoji_fonts"] }
egui_kittest = { workspace = true, features = ["eframe", "wgpu"] }
pollster = "1"
effectcraft-segment = { workspace = true }
effectcraft-host = { workspace = true }
effectcraft-media = { workspace = true }
exr = { workspace = true }
tempfile = { workspace = true }
[build-dependencies]
serde_json = { workspace = true }
toml = "1"