From 8bedaf6e5b7d4a75ef1b6af34076164d44e44c00 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Wed, 2 Jul 2025 12:00:36 +0200 Subject: [PATCH] Add light-mode Widget Gallery screenshot test (#7288) Part of some work to improve text rendering in light mode (again!) --- .../egui_demo_lib/src/demo/widget_gallery.rs | 29 +++++++++++++------ .../snapshots/widget_gallery_dark_x1.png | 3 ++ ...gallery.png => widget_gallery_dark_x2.png} | 0 .../snapshots/widget_gallery_light_x1.png | 3 ++ .../snapshots/widget_gallery_light_x2.png | 3 ++ 5 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 crates/egui_demo_lib/tests/snapshots/widget_gallery_dark_x1.png rename crates/egui_demo_lib/tests/snapshots/{widget_gallery.png => widget_gallery_dark_x2.png} (100%) create mode 100644 crates/egui_demo_lib/tests/snapshots/widget_gallery_light_x1.png create mode 100644 crates/egui_demo_lib/tests/snapshots/widget_gallery_light_x2.png diff --git a/crates/egui_demo_lib/src/demo/widget_gallery.rs b/crates/egui_demo_lib/src/demo/widget_gallery.rs index 31f5d279..214646d4 100644 --- a/crates/egui_demo_lib/src/demo/widget_gallery.rs +++ b/crates/egui_demo_lib/src/demo/widget_gallery.rs @@ -319,16 +319,27 @@ mod tests { date: Some(chrono::NaiveDate::from_ymd_opt(2024, 1, 1).unwrap()), ..Default::default() }; - let mut harness = Harness::builder() - .with_pixels_per_point(2.0) - .with_size(Vec2::new(380.0, 550.0)) - .build_ui(|ui| { - egui_extras::install_image_loaders(ui.ctx()); - demo.ui(ui); - }); - harness.fit_contents(); + for pixels_per_point in [1, 2] { + for theme in [egui::Theme::Light, egui::Theme::Dark] { + let mut harness = Harness::builder() + .with_pixels_per_point(pixels_per_point as f32) + .with_theme(theme) + .with_size(Vec2::new(380.0, 550.0)) + .build_ui(|ui| { + egui_extras::install_image_loaders(ui.ctx()); + demo.ui(ui); + }); - harness.snapshot("widget_gallery"); + harness.fit_contents(); + + let theme_name = match theme { + egui::Theme::Light => "light", + egui::Theme::Dark => "dark", + }; + let image_name = format!("widget_gallery_{theme_name}_x{pixels_per_point}"); + harness.snapshot(&image_name); + } + } } } diff --git a/crates/egui_demo_lib/tests/snapshots/widget_gallery_dark_x1.png b/crates/egui_demo_lib/tests/snapshots/widget_gallery_dark_x1.png new file mode 100644 index 00000000..d607894d --- /dev/null +++ b/crates/egui_demo_lib/tests/snapshots/widget_gallery_dark_x1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62df72fd7e2404c4aa482f09eff5103ee28e8afc42ee8c8c74307a246f64cda6 +size 64651 diff --git a/crates/egui_demo_lib/tests/snapshots/widget_gallery.png b/crates/egui_demo_lib/tests/snapshots/widget_gallery_dark_x2.png similarity index 100% rename from crates/egui_demo_lib/tests/snapshots/widget_gallery.png rename to crates/egui_demo_lib/tests/snapshots/widget_gallery_dark_x2.png diff --git a/crates/egui_demo_lib/tests/snapshots/widget_gallery_light_x1.png b/crates/egui_demo_lib/tests/snapshots/widget_gallery_light_x1.png new file mode 100644 index 00000000..02e80127 --- /dev/null +++ b/crates/egui_demo_lib/tests/snapshots/widget_gallery_light_x1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2198a523fb986e90fa3a42f047499f5b1c791075e7c3822b45509d9880073966 +size 60272 diff --git a/crates/egui_demo_lib/tests/snapshots/widget_gallery_light_x2.png b/crates/egui_demo_lib/tests/snapshots/widget_gallery_light_x2.png new file mode 100644 index 00000000..40518afe --- /dev/null +++ b/crates/egui_demo_lib/tests/snapshots/widget_gallery_light_x2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bb371a477f58c90ac72aed45a081f3177ea968f090e3739bdb5044ade29f4be +size 144295