use std::process::Command;
fn search(extra: &[&str]) -> String {
let out = Command::new(env!("CARGO_BIN_EXE_ct-search"))
.current_dir(env!("CARGO_MANIFEST_DIR"))
.args(["--base", "src", "--name", "jsonout.rs", "--summary"])
.args(extra)
.output()
.expect("run ct-search");
String::from_utf8_lossy(&out.stdout).into_owned()
}
#[test]
fn json_pretty_indents_and_implies_json() {
let compact = search(&["--json"]);
assert_eq!(
compact.lines().count(),
1,
"compact should be one line: {compact:?}"
);
let pretty = search(&["--json-pretty"]);
assert!(
pretty.trim_start().starts_with('{'),
"pretty is a JSON object: {pretty:?}"
);
assert!(
pretty.lines().count() > 1,
"pretty should span multiple lines: {pretty:?}"
);
assert!(
pretty.contains("\n \"tool\""),
"pretty should indent its keys: {pretty:?}"
);
}