use 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); }