use assert_cmd::Command;
#[test]
fn compare_boring_cases() {
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
cmd.arg("compare")
.assert()
.append_context("compare", "no args")
.failure();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd.arg("compare").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);
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg("compare")
.arg("-e")
.arg("-s")
.arg("1.2.3+0")
.arg("1.2.3+1")
.assert();
assert
.append_context(
"compare",
"exit code reporting + semantic equvalence passing",
)
.success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg("compare")
.arg("-e")
.arg("-s")
.arg("1.2.2")
.arg("1.2.3+1")
.assert();
assert
.append_context(
"compare",
"exit code reporting + semantic equvalence passing",
)
.code(100);
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg("compare")
.arg("-s")
.arg("1.2.4+0")
.arg("1.2.3+1")
.assert();
assert
.append_context(
"compare",
"semantic equvalence passing without complex exit code reporting",
)
.success();
}