fn test_block_lines()

in src/superconsole.rs [345:372]


    fn test_block_lines() -> anyhow::Result<()> {
        let root = Box::new(Echo::<Msg>::new(false));
        let mut console = test_console(root);

        let msg = Msg(vec![vec!["state"].try_into()?; 1]);
        let state = crate::state![&msg];

        console.test_output_mut()?.should_render = false;
        console.emit(vec![vec!["line 1"].try_into()?]);
        console.render(&state)?;
        assert_eq!(console.test_output()?.frames.len(), 0);

        console.test_output_mut()?.should_render = true;
        console.emit(vec![vec!["line 2"].try_into()?]);
        console.render(&state)?;

        let frame = console
            .test_output_mut()?
            .frames
            .pop()
            .context("No frame was emitted")?;

        assert!(frame_contains(&frame, "state".as_bytes()));
        assert!(frame_contains(&frame, "line 1".as_bytes()));
        assert!(frame_contains(&frame, "line 2".as_bytes()));

        Ok(())
    }