package-json-lsp 0.1.0

Language server for package manager catalog references in package.json
Documentation
use std::process::Command;

#[test]
fn version_flag_prints_package_version() {
    let output = Command::new(env!("CARGO_BIN_EXE_package-json-lsp"))
        .arg("--version")
        .output()
        .unwrap();

    assert!(output.status.success());
    assert_eq!(
        String::from_utf8(output.stdout).unwrap().trim(),
        env!("CARGO_PKG_VERSION")
    );
}

#[test]
fn short_version_flag_prints_package_version() {
    let output = Command::new(env!("CARGO_BIN_EXE_package-json-lsp"))
        .arg("-v")
        .output()
        .unwrap();

    assert!(output.status.success());
    assert_eq!(
        String::from_utf8(output.stdout).unwrap().trim(),
        env!("CARGO_PKG_VERSION")
    );
}

#[test]
fn rage_prints_environment_report() {
    let output = Command::new(env!("CARGO_BIN_EXE_package-json-lsp"))
        .arg("rage")
        .output()
        .unwrap();

    let stdout = String::from_utf8(output.stdout).unwrap();
    assert!(output.status.success());
    assert!(stdout.contains("Platform:"));
    assert!(stdout.contains("Arch:"));
    assert!(stdout.contains("Executable:"));
    assert!(stdout.contains("ServerVersion:"));
}