entrust 0.5.1

A CLI password manager
Documentation
pub fn apply_aliases(args: &mut Vec<String>) {
    match args.get(1).map(|s| s.as_str()) {
        Some("c") | Some("copy") => {
            args[1] = "get".to_string();
            args.insert(2, "-c".to_string())
        }
        Some("a") | Some("t") | Some("type") => {
            args[1] = "autotype".to_string();
        }
        _ => {}
    }
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_copy() {
        let mut args = vec!["ent".to_string()];
        apply_aliases(&mut args);
        assert_eq!(vec!["ent".to_string()], args);

        args = vec!["ent".to_string(), "get".to_string(), "c".to_string()];
        apply_aliases(&mut args);
        assert_eq!(
            vec!["ent".to_string(), "get".to_string(), "c".to_string()],
            args
        );

        args = vec!["ent".to_string(), "c".to_string(), "key".to_string()];
        apply_aliases(&mut args);
        assert_eq!(
            vec![
                "ent".to_string(),
                "get".to_string(),
                "-c".to_string(),
                "key".to_string()
            ],
            args
        );
    }
}