test: center|horizontal|vertical

This commit is contained in:
jk 2024-12-06 16:05:00 +01:00
parent 04d3dced63
commit ec02821825
No known key found for this signature in database

View File

@ -23,3 +23,54 @@ pub fn center(base_area: Rect, horizontal: Constraint, vertical: Constraint) ->
let area = center_horizontal(base_area, horizontal);
center_vertical(area, vertical)
}
#[cfg(test)]
mod tests {
use super::*;
use ratatui::{buffer::Buffer, layout::Rect, text::Span, widgets::Widget};
#[test]
fn test_center() {
let l = Span::raw("hello!");
let mut b = Buffer::empty(Rect::new(0, 0, 10, 3));
let area = center(
b.area,
Constraint::Length(l.width() as u16),
Constraint::Length(1),
);
l.render(area, &mut b);
#[rustfmt::skip]
let expected = Buffer::with_lines([
" ",
" hello! ",
" ",
]);
assert_eq!(b, expected);
}
#[test]
fn test_center_horizontal() {
let l = Span::raw("hello!");
let mut b = Buffer::empty(Rect::new(0, 0, 10, 1));
let area = center_horizontal(b.area, Constraint::Length(l.width() as u16));
l.render(area, &mut b);
let expected = Buffer::with_lines([" hello! "]);
assert_eq!(b, expected);
}
#[test]
fn test_center_vertical() {
let l = Span::raw("hello vertical");
let mut b = Buffer::empty(Rect::new(0, 0, 20, 3));
let area = center_vertical(b.area, Constraint::Length(1));
l.render(area, &mut b);
#[rustfmt::skip]
let expected = Buffer::with_lines([
" ",
"hello vertical ",
" ",
]);
assert_eq!(b, expected);
}
}