meari-cli 0.2.0

Unified `meari` command line: convert, native, build
use std::process::Command;

fn meari(args: &[&str]) -> std::process::Output {
    Command::new(env!("CARGO_BIN_EXE_meari"))
        .args(args)
        .output()
        .expect("run meari")
}

#[test]
fn help_lists_every_command_group() {
    let out = meari(&["--help"]);
    assert!(out.status.success());
    let text = String::from_utf8_lossy(&out.stdout);
    for group in ["convert", "native", "build"] {
        assert!(text.contains(group), "{group} missing from help");
    }
}

#[test]
fn groups_delegate_to_legacy_help() {
    for (group, marker) in [
        ("convert", "meari-cli"),
        ("native", "meari-native"),
        ("build", "meari-builder"),
    ] {
        let out = meari(&[group, "--help"]);
        assert!(out.status.success(), "{group} --help failed");
        assert!(String::from_utf8_lossy(&out.stdout).contains(marker));
    }
}

#[test]
fn unknown_command_exits_with_usage_error() {
    assert_eq!(meari(&["nope"]).status.code(), Some(2));
}