You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
helix/helix-tui/tests/widgets_block.rs

214 lines
5.8 KiB
XML

// use helix_tui::{
// backend::TestBackend,
// buffer::Buffer,
// layout::Rect,
// style::{Color, Style},
// text::Span,
// widgets::{Block, Borders},
// Terminal,
// };
// #[test]
// fn widgets_block_renders() {
// let backend = TestBackend::new(10, 10);
// let mut terminal = Terminal::new(backend).unwrap();
// terminal
// .draw(|f| {
// let block = Block::default()
// .title(Span::styled("Title", Style::default().fg(Color::LightBlue)))
// .borders(Borders::ALL);
// f.render_widget(
// block,
// Rect {
// x: 0,
// y: 0,
// width: 8,
// height: 8,
// },
// );
// })
// .unwrap();
// let mut expected = Buffer::with_lines(vec![
// "┌Title─┐ ",
// "│ │ ",
// "│ │ ",
// "│ │ ",
// "│ │ ",
// "│ │ ",
// "│ │ ",
// "└──────┘ ",
// " ",
// " ",
// ]);
// for x in 1..=5 {
// expected.get_mut(x, 0).set_fg(Color::LightBlue);
// }
// terminal.backend().assert_buffer(&expected);
// }
// #[test]
// fn widgets_block_renders_on_small_areas() {
// let test_case = |block, area: Rect, expected| {
// let backend = TestBackend::new(area.width, area.height);
// let mut terminal = Terminal::new(backend).unwrap();
// terminal
// .draw(|f| {
// f.render_widget(block, area);
// })
// .unwrap();
// terminal.backend().assert_buffer(&expected);
// };
// let one_cell_test_cases = [
// (Borders::NONE, "T"),
// (Borders::LEFT, "│"),
// (Borders::TOP, "T"),
// (Borders::RIGHT, "│"),
// (Borders::BOTTOM, "T"),
// (Borders::ALL, "┌"),
// ];
// for (borders, symbol) in one_cell_test_cases.iter().cloned() {
// test_case(
// Block::default().title("Test").borders(borders),
// Rect {
// x: 0,
// y: 0,
// width: 0,
// height: 0,
// },
// Buffer::empty(Rect {
// x: 0,
// y: 0,
// width: 0,
// height: 0,
// }),
// );
// test_case(
// Block::default().title("Test").borders(borders),
// Rect {
// x: 0,
// y: 0,
// width: 1,
// height: 0,
// },
// Buffer::empty(Rect {
// x: 0,
// y: 0,
// width: 1,
// height: 0,
// }),
// );
// test_case(
// Block::default().title("Test").borders(borders),
// Rect {
// x: 0,
// y: 0,
// width: 0,
// height: 1,
// },
// Buffer::empty(Rect {
// x: 0,
// y: 0,
// width: 0,
// height: 1,
// }),
// );
// test_case(
// Block::default().title("Test").borders(borders),
// Rect {
// x: 0,
// y: 0,
// width: 1,
// height: 1,
// },
// Buffer::with_lines(vec![symbol]),
// );
// }
// test_case(
// Block::default().title("Test").borders(Borders::LEFT),
// Rect {
// x: 0,
// y: 0,
// width: 4,
// height: 1,
// },
// Buffer::with_lines(vec!["│Tes"]),
// );
// test_case(
// Block::default().title("Test").borders(Borders::RIGHT),
// Rect {
// x: 0,
// y: 0,
// width: 4,
// height: 1,
// },
// Buffer::with_lines(vec!["Tes│"]),
// );
// test_case(
// Block::default().title("Test").borders(Borders::RIGHT),
// Rect {
// x: 0,
// y: 0,
// width: 4,
// height: 1,
// },
// Buffer::with_lines(vec!["Tes│"]),
// );
// test_case(
// Block::default()
// .title("Test")
// .borders(Borders::LEFT | Borders::RIGHT),
// Rect {
// x: 0,
// y: 0,
// width: 4,
// height: 1,
// },
// Buffer::with_lines(vec!["│Te│"]),
// );
// test_case(
// Block::default().title("Test").borders(Borders::TOP),
// Rect {
// x: 0,
// y: 0,
// width: 4,
// height: 1,
// },
// Buffer::with_lines(vec!["Test"]),
// );
// test_case(
// Block::default().title("Test").borders(Borders::TOP),
// Rect {
// x: 0,
// y: 0,
// width: 5,
// height: 1,
// },
// Buffer::with_lines(vec!["Test─"]),
// );
// test_case(
// Block::default()
// .title("Test")
// .borders(Borders::LEFT | Borders::TOP),
// Rect {
// x: 0,
// y: 0,
// width: 5,
// height: 1,
// },
// Buffer::with_lines(vec!["┌Test"]),
// );
// test_case(
// Block::default()
// .title("Test")
// .borders(Borders::LEFT | Borders::TOP),
// Rect {
// x: 0,
// y: 0,
// width: 6,
// height: 1,
// },
// Buffer::with_lines(vec!["┌Test─"]),
// );
// }