use assert_cmd::prelude::*;
use assert_fs::prelude::*;
use serial_test::serial;
use std::process::Command;
use which::which;
mod util;
#[test]
#[serial]
fn list_works_without_fzf() {
let tmp = assert_fs::TempDir::new().unwrap();
util::set_var("HOME", tmp.path());
util::set_var("XDG_DATA_HOME", tmp.child(".xdg/data").path());
util::set_var("XDG_CONFIG_HOME", tmp.child(".xdg/config").path());
Command::cargo_bin("nrip")
.unwrap()
.arg("--list")
.assert()
.success();
}
#[test]
#[serial]
fn list_uses_fzf_when_available_via_resurrect_interactive() {
if which("fzf").is_err() {
eprintln!("skip: fzf not found");
return;
}
let tmp = assert_fs::TempDir::new().unwrap();
util::set_var("HOME", tmp.path());
util::set_var("XDG_DATA_HOME", tmp.child(".xdg/data").path());
util::set_var("XDG_CONFIG_HOME", tmp.child(".xdg/config").path());
let f = tmp.child("a.txt");
f.write_str("x").unwrap();
Command::cargo_bin("nrip")
.unwrap()
.arg(f.path())
.assert()
.success();
Command::cargo_bin("nrip")
.unwrap()
.arg("--resurrect")
.assert()
.success(); }