use super::*;
use crate::component::test_utils;
#[test]
fn test_snapshot_default() {
let state = SplitPanelState::default();
let (mut terminal, theme) = test_utils::setup_render(70, 20);
terminal
.draw(|frame| {
SplitPanel::view(&state, &mut RenderContext::new(frame, frame.area(), &theme));
})
.unwrap();
insta::assert_snapshot!(terminal.backend().to_string());
}
#[test]
fn test_snapshot_vertical_focused_first() {
let state = SplitPanelState::new(SplitOrientation::Vertical);
let (mut terminal, theme) = test_utils::setup_render(70, 20);
terminal
.draw(|frame| {
SplitPanel::view(
&state,
&mut RenderContext::new(frame, frame.area(), &theme).focused(true),
);
})
.unwrap();
insta::assert_snapshot!(terminal.backend().to_string());
}
#[test]
fn test_snapshot_vertical_focused_second() {
let mut state = SplitPanelState::new(SplitOrientation::Vertical);
SplitPanel::update(&mut state, SplitPanelMessage::FocusOther);
let (mut terminal, theme) = test_utils::setup_render(70, 20);
terminal
.draw(|frame| {
SplitPanel::view(
&state,
&mut RenderContext::new(frame, frame.area(), &theme).focused(true),
);
})
.unwrap();
insta::assert_snapshot!(terminal.backend().to_string());
}
#[test]
fn test_snapshot_horizontal() {
let state = SplitPanelState::new(SplitOrientation::Horizontal);
let (mut terminal, theme) = test_utils::setup_render(70, 20);
terminal
.draw(|frame| {
SplitPanel::view(
&state,
&mut RenderContext::new(frame, frame.area(), &theme).focused(true),
);
})
.unwrap();
insta::assert_snapshot!(terminal.backend().to_string());
}
#[test]
fn test_snapshot_custom_ratio() {
let state = SplitPanelState::new(SplitOrientation::Vertical).with_ratio(0.3);
let (mut terminal, theme) = test_utils::setup_render(70, 20);
terminal
.draw(|frame| {
SplitPanel::view(
&state,
&mut RenderContext::new(frame, frame.area(), &theme).focused(true),
);
})
.unwrap();
insta::assert_snapshot!(terminal.backend().to_string());
}
#[test]
fn test_snapshot_resized() {
let mut state = SplitPanelState::new(SplitOrientation::Vertical);
SplitPanel::update(&mut state, SplitPanelMessage::GrowFirst);
SplitPanel::update(&mut state, SplitPanelMessage::GrowFirst);
let (mut terminal, theme) = test_utils::setup_render(70, 20);
terminal
.draw(|frame| {
SplitPanel::view(
&state,
&mut RenderContext::new(frame, frame.area(), &theme).focused(true),
);
})
.unwrap();
insta::assert_snapshot!(terminal.backend().to_string());
}