magi-code 0.63.4

Repository-aware CLI coding agent for terminal work
Documentation
use super::*;

#[test]
fn render_help_uses_scroll_offset() {
    let state = MissionControlState {
        show_help: true,
        ..Default::default()
    };
    let backend = TestBackend::new(60, 12);
    let mut terminal = ratatui::Terminal::new(backend).unwrap();
    terminal.draw(|frame| draw(frame, &state)).unwrap();
    let top_rendered = terminal
        .backend()
        .buffer()
        .content()
        .iter()
        .map(|cell| cell.symbol())
        .collect::<String>();
    assert!(
        top_rendered.contains("Mission Control Help"),
        "{top_rendered}"
    );

    state.set_scroll_offset(&state.scroll_views.help, 5);
    terminal.draw(|frame| draw(frame, &state)).unwrap();
    let scrolled_rendered = terminal
        .backend()
        .buffer()
        .content()
        .iter()
        .map(|cell| cell.symbol())
        .collect::<String>();

    assert_ne!(top_rendered, scrolled_rendered);
    assert!(
        !scrolled_rendered.contains("Mission Control Help"),
        "{scrolled_rendered}"
    );
}