From 04913ed651203906622c15588166bb648ab4f1fb Mon Sep 17 00:00:00 2001 From: Lucas Meurer Date: Fri, 7 Nov 2025 13:34:25 +0100 Subject: [PATCH] Add some more text edit tests (#7608) Adds tests to text the clip option in text edits and how it behaves with a placeholder --------- Co-authored-by: lucasmerlin <8009393+lucasmerlin@users.noreply.github.com> --- .../tests/snapshots/layout/text_edit_clip.png | 3 ++ .../snapshots/layout/text_edit_no_clip.png | 3 ++ .../layout/text_edit_placeholder_clip.png | 3 ++ .../snapshots/visuals/text_edit_clip.png | 3 ++ .../snapshots/visuals/text_edit_no_clip.png | 3 ++ .../visuals/text_edit_placeholder_clip.png | 3 ++ tests/egui_tests/tests/test_widgets.rs | 33 ++++++++++++++++++- 7 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 tests/egui_tests/tests/snapshots/layout/text_edit_clip.png create mode 100644 tests/egui_tests/tests/snapshots/layout/text_edit_no_clip.png create mode 100644 tests/egui_tests/tests/snapshots/layout/text_edit_placeholder_clip.png create mode 100644 tests/egui_tests/tests/snapshots/visuals/text_edit_clip.png create mode 100644 tests/egui_tests/tests/snapshots/visuals/text_edit_no_clip.png create mode 100644 tests/egui_tests/tests/snapshots/visuals/text_edit_placeholder_clip.png diff --git a/tests/egui_tests/tests/snapshots/layout/text_edit_clip.png b/tests/egui_tests/tests/snapshots/layout/text_edit_clip.png new file mode 100644 index 000000000..0c4327b58 --- /dev/null +++ b/tests/egui_tests/tests/snapshots/layout/text_edit_clip.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f107d95fee9a5fb5fbfd2422452e1820738a84c81774587dbfa8153e91e4c73 +size 414552 diff --git a/tests/egui_tests/tests/snapshots/layout/text_edit_no_clip.png b/tests/egui_tests/tests/snapshots/layout/text_edit_no_clip.png new file mode 100644 index 000000000..ecc6efa8b --- /dev/null +++ b/tests/egui_tests/tests/snapshots/layout/text_edit_no_clip.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c1aebada9349f8cb4046469b0a6f9796a21f88b6724bd85cd832a40b8007409 +size 540527 diff --git a/tests/egui_tests/tests/snapshots/layout/text_edit_placeholder_clip.png b/tests/egui_tests/tests/snapshots/layout/text_edit_placeholder_clip.png new file mode 100644 index 000000000..780fec82f --- /dev/null +++ b/tests/egui_tests/tests/snapshots/layout/text_edit_placeholder_clip.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:685de2e33ff26aafa87426bcda18bb9963c2deb2a811cd0aae4450af0e245a06 +size 390735 diff --git a/tests/egui_tests/tests/snapshots/visuals/text_edit_clip.png b/tests/egui_tests/tests/snapshots/visuals/text_edit_clip.png new file mode 100644 index 000000000..f44900fa5 --- /dev/null +++ b/tests/egui_tests/tests/snapshots/visuals/text_edit_clip.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf4236b1a8f63d184cd780c334d9f996e4d47817a96a29f0d81658d2d897597f +size 10529 diff --git a/tests/egui_tests/tests/snapshots/visuals/text_edit_no_clip.png b/tests/egui_tests/tests/snapshots/visuals/text_edit_no_clip.png new file mode 100644 index 000000000..7329c49cf --- /dev/null +++ b/tests/egui_tests/tests/snapshots/visuals/text_edit_no_clip.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7a63953853f526b83f80d63335b03e60258ea9a3416d19f8ed57d746b5c551d +size 21557 diff --git a/tests/egui_tests/tests/snapshots/visuals/text_edit_placeholder_clip.png b/tests/egui_tests/tests/snapshots/visuals/text_edit_placeholder_clip.png new file mode 100644 index 000000000..e1a15cf7d --- /dev/null +++ b/tests/egui_tests/tests/snapshots/visuals/text_edit_placeholder_clip.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f7d802a4de7e30f8d254cab6d9ca127866c104c1738103bc4a579917e8f42d3 +size 9850 diff --git a/tests/egui_tests/tests/test_widgets.rs b/tests/egui_tests/tests/test_widgets.rs index 6a75e36a3..440b1939b 100644 --- a/tests/egui_tests/tests/test_widgets.rs +++ b/tests/egui_tests/tests/test_widgets.rs @@ -2,7 +2,7 @@ use egui::accesskit::Role; use egui::load::SizedTexture; use egui::{ Align, AtomExt as _, AtomLayout, Button, Color32, ColorImage, Direction, DragValue, Event, - Grid, IntoAtoms as _, Layout, PointerButton, Response, Slider, Stroke, StrokeKind, + Grid, IntoAtoms as _, Layout, PointerButton, Response, Slider, Stroke, StrokeKind, TextEdit, TextWrapMode, TextureHandle, TextureOptions, Ui, UiBuilder, Vec2, Widget as _, include_image, }; use egui_kittest::kittest::{Queryable as _, by}; @@ -84,6 +84,37 @@ fn widget_tests() { }, &mut results, ); + test_widget( + "text_edit_clip", + |ui| { + ui.spacing_mut().text_edit_width = 45.0; + TextEdit::singleline(&mut "This is a very very long text".to_owned()) + .clip_text(true) + .ui(ui) + }, + &mut results, + ); + test_widget( + "text_edit_no_clip", + |ui| { + ui.spacing_mut().text_edit_width = 45.0; + TextEdit::singleline(&mut "This is a very very long text".to_owned()) + .clip_text(false) + .ui(ui) + }, + &mut results, + ); + test_widget( + "text_edit_placeholder_clip", + |ui| { + ui.spacing_mut().text_edit_width = 45.0; + TextEdit::singleline(&mut String::new()) + .hint_text("This is a very very long placeholder") + .clip_text(true) + .ui(ui) + }, + &mut results, + ); test_widget( "slider",