From b6ff07afac8e13d18c4fb6590ee4b9cd83f80938 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Tue, 3 May 2022 14:33:57 +0200 Subject: [PATCH] Add failing test for multi-byte characters --- crates/editor/src/editor.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 3d5a666038..20955153e5 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -8324,6 +8324,26 @@ mod tests { editor }) .1; + + cx.add_window(Default::default(), |cx| { + let mut editor = build_editor(MultiBuffer::build_simple("🍐🏀✋", cx), cx); + + editor.select_ranges([4..4], None, cx); + editor.transpose(&Default::default(), cx); + assert_eq!(editor.text(cx), "🏀🍐✋"); + assert_eq!(editor.selected_ranges(cx), [8..8]); + + editor.transpose(&Default::default(), cx); + assert_eq!(editor.text(cx), "🏀✋🍐"); + assert_eq!(editor.selected_ranges(cx), [11..11]); + + editor.transpose(&Default::default(), cx); + assert_eq!(editor.text(cx), "🏀🍐✋"); + assert_eq!(editor.selected_ranges(cx), [11..11]); + + editor + }) + .1; } #[gpui::test]