use assert_cmd::Command;
mod common;
use common::subcommands::*;
#[test]
fn cli_sort_invalid_input() {
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd.arg(COMMAND_SORT).arg("a.b.c").assert();
assert
.append_context(COMMAND_SORT, "1 bad semver args")
.failure();
}
#[test]
fn cli_sort_basic_cases() {
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd.arg(COMMAND_SORT).arg("0.1.2-rc0").assert();
assert.append_context(COMMAND_SORT, "1 item").success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("-f >0")
.arg("0.1.2-rc0")
.arg("0.1.2-rc1")
.assert();
assert
.append_context(COMMAND_SORT, "2 items, -f >0")
.success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("-f >1")
.arg("0.1.2-rc0")
.arg("0.1.2-rc1")
.assert();
assert
.append_context(COMMAND_SORT, "2 items, -f >1")
.success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("-f >a")
.arg("0.1.2-rc0")
.arg("0.1.2-rc1")
.assert();
assert
.append_context(COMMAND_SORT, "2 items, -f >a")
.failure();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("-r")
.arg("0.1.2-rc0")
.arg("0.1.2-rc1")
.assert();
assert.append_context(COMMAND_SORT, "2 items, -r").success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("--flatten")
.arg("0.1.2-rc0")
.arg("0.1.2-rc1")
.assert();
assert
.append_context(COMMAND_SORT, "2 items, --flatten")
.success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("--lexical-sorting")
.arg("0.1.2-rc0")
.arg("0.1.2-rc1")
.assert();
assert
.append_context(COMMAND_SORT, "2 items, --lexical-sorting,")
.success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("--lexical-sorting")
.arg("--flatten")
.arg("0.1.2-rc0")
.arg("0.1.2-rc1")
.assert();
assert
.append_context(COMMAND_SORT, "2 items, --lexical-sorting, --flatten")
.success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("--fail-if-potentially-ambiguous")
.arg("0.1.2+bm0")
.arg("0.1.2+bm1")
.assert();
assert
.append_context(COMMAND_SORT, "2 items, --lexical-sorting, --flatten")
.failure();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("0.1.2+bm0")
.arg("0.1.2+bm1")
.assert();
assert
.append_context(COMMAND_SORT, "2 items, --lexical-sorting, --flatten")
.success();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("--fail-if-potentially-ambiguous")
.arg("--flatten")
.arg("0.1.2+bm0")
.arg("0.1.2+bm1")
.assert();
assert
.append_context(COMMAND_SORT, "2 items, --lexical-sorting, --flatten")
.failure();
let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let assert = cmd
.arg(COMMAND_SORT)
.arg("--flatten")
.arg("0.1.2+bm0")
.arg("0.1.2+bm1")
.assert();
assert
.append_context(COMMAND_SORT, "2 items, --lexical-sorting, --flatten")
.success();
}