tmux_interface 0.4.0

Rust language library for communication with TMUX via CLI
Documentation
#[test]
fn multiple_from_string() {
    use crate::FormatsOutput;
    use crate::VariableOutput;

    let mut c: Option<bool> = None;
    let mut d: Option<bool> = None;

    let mut f = FormatsOutput::new();
    f.push(VariableOutput::WindowActive(&mut c));
    f.window_active(&mut d);

    let f_str = "1\'1";
    FormatsOutput::from_string_ext(f_str, &mut f);
    assert_eq!((c, d), (Some(true), Some(true)));
}

#[test]
fn struct_from_string() {
    use crate::FormatsOutput;
    use crate::VariableOutput;

    #[derive(Debug, PartialEq, Default)]
    struct FormatStruct {
        field1: Option<bool>,
        field2: Option<bool>,
    }

    let mut format_struct = FormatStruct::default();

    let mut f = FormatsOutput::new();
    f.push(VariableOutput::WindowActive(&mut format_struct.field1));
    f.window_active(&mut format_struct.field2);

    let f_str = "1\'1";
    FormatsOutput::from_string_ext(f_str, &mut f);
    assert_eq!(
        format_struct,
        FormatStruct {
            field1: Some(true),
            field2: Some(true)
        }
    );
}