rawcmd 0.6.3

Command-line application framework.
Documentation
use rawcmd::{Context, Command, Intent, Result};

#[test]
fn performs_command() {
    fn resolver0(_: &Intent, _: &mut Context) -> Result<i32> { Ok(0) };
    fn resolver1(_: &Intent, _: &mut Context) -> Result<i32> { Ok(1) };
    let result = Command::with_name("0")
        .with_subcommand(
            Command::with_name("1").with_resolver(resolver0)
        )
        .with_subcommand(
            Command::with_name("2").with_resolver(resolver1)
        )
        .with_subcommand(
            Command::with_name("3").with_resolver(resolver0)
        )
        .with_resolver(resolver0)
        .run_args(vec!["2"], &mut Context::default());
    assert_eq!(result, Ok(1));
}