Files
galaxy/app/src/editor/soft_wrap_test.rs
T

76 lines
2.6 KiB
Rust

use super::*;
use vec1::vec1;
#[test]
fn test_singleton_frames_displayed_lines() {
let frame_layouts = FrameLayouts {
frames: vec![
Arc::new(text_layout::TextFrame::empty(12., 1.)),
Arc::new(text_layout::TextFrame::empty(13., 1.)),
Arc::new(text_layout::TextFrame::empty(14., 1.)),
Arc::new(text_layout::TextFrame::empty(15., 1.)),
Arc::new(text_layout::TextFrame::empty(16., 1.)),
],
start_line: 2,
end_line: 3,
};
assert_eq!(frame_layouts.displayed_lines().count(), 1);
let mut iter = frame_layouts.displayed_lines();
assert_eq!(iter.next().expect("Should have line").font_size, 14.);
}
#[test]
fn test_displayed_lines_end_line_greater_than_iterator_size() {
let frame_layouts = FrameLayouts {
frames: vec![
Arc::new(text_layout::TextFrame::empty(12., 1.)),
Arc::new(text_layout::TextFrame::empty(13., 1.)),
Arc::new(text_layout::TextFrame::empty(14., 1.)),
Arc::new(text_layout::TextFrame::empty(15., 1.)),
Arc::new(text_layout::TextFrame::empty(16., 1.)),
],
start_line: 3,
end_line: 6,
};
assert_eq!(frame_layouts.displayed_lines().count(), 2);
let mut iter = frame_layouts.displayed_lines();
assert_eq!(iter.next().expect("Should have line").font_size, 15.);
assert_eq!(iter.next().expect("Should have line").font_size, 16.);
assert!(iter.next().is_none());
}
#[test]
fn test_soft_wrapped_frame_displayed_lines() {
let frame_layouts = FrameLayouts {
frames: vec![
Arc::new(text_layout::TextFrame::new(
vec1![
text_layout::Line::empty(10., 1., 0),
text_layout::Line::empty(11., 1., 1),
text_layout::Line::empty(12., 1., 2),
],
0.,
Default::default(),
)),
Arc::new(text_layout::TextFrame::empty(13., 1.)),
Arc::new(text_layout::TextFrame::empty(14., 1.)),
Arc::new(text_layout::TextFrame::empty(15., 1.)),
Arc::new(text_layout::TextFrame::empty(16., 1.)),
],
start_line: 2,
end_line: 5,
};
assert_eq!(frame_layouts.displayed_lines().count(), 3);
let mut iter = frame_layouts.displayed_lines();
assert_eq!(iter.next().expect("Should have line").font_size, 12.);
assert_eq!(iter.next().expect("Should have line").font_size, 13.);
assert_eq!(iter.next().expect("Should have line").font_size, 14.);
assert!(iter.next().is_none());
}