From a73f2c356f1a1023cb0163d96a22e0d9ce4e1179 Mon Sep 17 00:00:00 2001 From: Lucas Meurer Date: Tue, 23 Sep 2025 11:56:32 +0200 Subject: [PATCH] Add text edit rtl regression test (#7524) --- tests/egui_tests/tests/regression_tests.rs | 30 ++++++++++++++++++- .../tests/snapshots/text_edit_rtl_0.png | 3 ++ .../tests/snapshots/text_edit_rtl_1.png | 3 ++ .../tests/snapshots/text_edit_rtl_2.png | 3 ++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 tests/egui_tests/tests/snapshots/text_edit_rtl_0.png create mode 100644 tests/egui_tests/tests/snapshots/text_edit_rtl_1.png create mode 100644 tests/egui_tests/tests/snapshots/text_edit_rtl_2.png diff --git a/tests/egui_tests/tests/regression_tests.rs b/tests/egui_tests/tests/regression_tests.rs index d02d04aa..a407864e 100644 --- a/tests/egui_tests/tests/regression_tests.rs +++ b/tests/egui_tests/tests/regression_tests.rs @@ -1,4 +1,5 @@ -use egui::{Color32, Image, Label, RichText, TextWrapMode, include_image}; +use egui::accesskit::Role; +use egui::{Align, Color32, Image, Label, Layout, RichText, TextWrapMode, include_image}; use egui_kittest::Harness; use egui_kittest::kittest::Queryable as _; @@ -33,3 +34,30 @@ fn hovering_should_preserve_text_format() { harness.snapshot("hovering_should_preserve_text_format"); } + +#[test] +fn text_edit_rtl() { + let mut text = "hello ".to_owned(); + let mut harness = Harness::builder().with_size((200.0, 50.0)).build_ui(|ui| { + ui.with_layout(Layout::right_to_left(Align::Min), |ui| { + _ = ui.button("right"); + ui.add( + egui::TextEdit::singleline(&mut text) + .desired_width(10.0) + .clip_text(false), + ); + _ = ui.button("left"); + }); + }); + + harness.get_by_role(Role::TextInput).focus(); + harness.step(); + harness.snapshot("text_edit_rtl_0"); + + harness.get_by_role(Role::TextInput).type_text("world"); + + for i in 1..3 { + harness.step(); + harness.snapshot(format!("text_edit_rtl_{i}")); + } +} diff --git a/tests/egui_tests/tests/snapshots/text_edit_rtl_0.png b/tests/egui_tests/tests/snapshots/text_edit_rtl_0.png new file mode 100644 index 00000000..d9354022 --- /dev/null +++ b/tests/egui_tests/tests/snapshots/text_edit_rtl_0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:336581facb1ec989a43291ed76bd8ddb552c46137a75601f466e6dc4dae77278 +size 2395 diff --git a/tests/egui_tests/tests/snapshots/text_edit_rtl_1.png b/tests/egui_tests/tests/snapshots/text_edit_rtl_1.png new file mode 100644 index 00000000..2ae957da --- /dev/null +++ b/tests/egui_tests/tests/snapshots/text_edit_rtl_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b0684c53a20eaa90a9dccef8ac3eaa2a6eede7c770e7bbbba6d995f43584d99 +size 2353 diff --git a/tests/egui_tests/tests/snapshots/text_edit_rtl_2.png b/tests/egui_tests/tests/snapshots/text_edit_rtl_2.png new file mode 100644 index 00000000..b9235740 --- /dev/null +++ b/tests/egui_tests/tests/snapshots/text_edit_rtl_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38f325f2e741f18f897502c176f9a7efe276e9adab41a144511121dd8b8a3073 +size 3079