From 046759a366a3ed65ae3c0deacbd880ffbfe291f9 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Tue, 22 Aug 2023 01:01:27 +0200 Subject: [PATCH] Remove dead comment --- crates/editor/src/editor.rs | 2 - crates/gpui_platform/src/tests/mod.rs | 125 ++++++++++++++++++++++++++ 2 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 crates/gpui_platform/src/tests/mod.rs diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 60576617eb..cbc7a7cd42 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -2667,8 +2667,6 @@ impl Editor { false }); } - // $language = true; - // language fn completion_query(buffer: &MultiBufferSnapshot, position: impl ToOffset) -> Option { let offset = position.to_offset(buffer); let (word_range, kind) = buffer.surrounding_word(offset); diff --git a/crates/gpui_platform/src/tests/mod.rs b/crates/gpui_platform/src/tests/mod.rs new file mode 100644 index 0000000000..949c9c3e27 --- /dev/null +++ b/crates/gpui_platform/src/tests/mod.rs @@ -0,0 +1,125 @@ + + + use gpui::text_layout::*; + use gpui::fonts::{Properties, Weight}; + + #[gpui::test] + fn test_wrap_line(cx: &mut gpui::AppContext) { + let font_cache = cx.font_cache().clone(); + let font_system = cx.platform().fonts(); + let family = font_cache + .load_family(&["Courier"], &Default::default()) + .unwrap(); + let font_id = font_cache.select_font(family, &Default::default()).unwrap(); + + let mut wrapper = LineWrapper::new(font_id, 16., font_system); + assert_eq!( + wrapper + .wrap_line("aa bbb cccc ddddd eeee", 72.0) + .collect::>(), + &[ + Boundary::new(7, 0), + Boundary::new(12, 0), + Boundary::new(18, 0) + ], + ); + assert_eq!( + wrapper + .wrap_line("aaa aaaaaaaaaaaaaaaaaa", 72.0) + .collect::>(), + &[ + Boundary::new(4, 0), + Boundary::new(11, 0), + Boundary::new(18, 0) + ], + ); + assert_eq!( + wrapper.wrap_line(" aaaaaaa", 72.).collect::>(), + &[ + Boundary::new(7, 5), + Boundary::new(9, 5), + Boundary::new(11, 5), + ] + ); + assert_eq!( + wrapper + .wrap_line(" ", 72.) + .collect::>(), + &[ + Boundary::new(7, 0), + Boundary::new(14, 0), + Boundary::new(21, 0) + ] + ); + assert_eq!( + wrapper + .wrap_line(" aaaaaaaaaaaaaa", 72.) + .collect::>(), + &[ + Boundary::new(7, 0), + Boundary::new(14, 3), + Boundary::new(18, 3), + Boundary::new(22, 3), + ] + ); + } + + #[gpui::test(retries = 5)] + fn test_wrap_shaped_line(cx: &mut gpui::AppContext) { + // This is failing intermittently on CI and we don't have time to figure it out + let font_cache = cx.font_cache().clone(); + let font_system = cx.platform().fonts(); + let text_layout_cache = TextLayoutCache::new(font_system.clone()); + + let family = font_cache + .load_family(&["Helvetica"], &Default::default()) + .unwrap(); + let font_id = font_cache.select_font(family, &Default::default()).unwrap(); + let normal = RunStyle { + font_id, + color: Default::default(), + underline: Default::default(), + }; + let bold = RunStyle { + font_id: font_cache + .select_font( + family, + &Properties { + weight: Weight::BOLD, + ..Default::default() + }, + ) + .unwrap(), + color: Default::default(), + underline: Default::default(), + }; + + let text = "aa bbb cccc ddddd eeee"; + let line = text_layout_cache.layout_str( + text, + 16.0, + &[(4, normal), (5, bold), (6, normal), (1, bold), (7, normal)], + ); + + let mut wrapper = LineWrapper::new(font_id, 16., font_system); + assert_eq!( + wrapper + .wrap_shaped_line(text, &line, 72.0) + .collect::>(), + &[ + ShapedBoundary { + run_ix: 1, + glyph_ix: 3 + }, + ShapedBoundary { + run_ix: 2, + glyph_ix: 3 + }, + ShapedBoundary { + run_ix: 4, + glyph_ix: 2 + } + ], + ); + +}