use assert_cmd::Command;
#[test]
fn compare_boring_cases() {
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
cmd.assert().append_context("compare", "no args").failure();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd.arg("--help").assert();
assert.append_context("compare", "help").success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd.arg("compare").arg("a.b.c").assert();
assert
.append_context("compare", "1 bad semver args")
.failure();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd.arg("compare").arg("a.b.c").arg("x.y.z").assert();
assert
.append_context("compare", "2 bad semver args")
.failure();
}
#[test]
fn compare_basic_cases() {
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd.arg("compare").arg("1.2.3").arg("4.5.6").assert();
assert
.append_context("compare", "no exit code reporting")
.success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg("compare")
.arg("-e")
.arg("1.2.3")
.arg("1.2.3")
.assert();
assert
.append_context("compare", "exit code reporting")
.success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg("compare")
.arg("-e")
.arg("1.2.3")
.arg("4.5.6")
.assert();
assert
.append_context("compare", "exit code reporting")
.code(100);
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg("compare")
.arg("-e")
.arg("4.5.6")
.arg("1.2.3")
.assert();
assert
.append_context("compare", "exit code reporting")
.code(122);
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg("compare")
.arg("-e")
.arg("1.2.3+1")
.arg("1.2.3+0")
.assert();
assert
.append_context("compare", "exit code reporting")
.code(112);
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg("compare")
.arg("-e")
.arg("1.2.3+0")
.arg("1.2.3+1")
.assert();
assert
.append_context("compare", "exit code reporting")
.code(110);
}