use std::fs;
use std::path::PathBuf;
pub fn get_test_file_path(name: &str) -> PathBuf {
let mut path = std::env::temp_dir();
path.push(format!("tmpltool_integration_test_{}", name));
path
}
pub fn cleanup_test_file(path: &PathBuf) {
let _ = fs::remove_file(path);
}
#[allow(dead_code)]
pub fn get_fixture_template(name: &str) -> PathBuf {
let mut path = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
path.push("tests");
path.push("fixtures");
path.push("templates");
path.push(name);
path
}
#[allow(dead_code)]
pub fn get_fixture_expected(name: &str) -> PathBuf {
let mut path = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
path.push("tests");
path.push("fixtures");
path.push("expected");
path.push(name);
path
}
#[allow(dead_code)]
pub fn read_fixture_template(name: &str) -> String {
let path = get_fixture_template(name);
fs::read_to_string(&path).unwrap_or_else(|e| {
panic!(
"Failed to read fixture template '{}': {}",
path.display(),
e
)
})
}
#[allow(dead_code)]
pub fn read_fixture_expected(name: &str) -> String {
let path = get_fixture_expected(name);
fs::read_to_string(&path).unwrap_or_else(|e| {
panic!(
"Failed to read fixture expected '{}': {}",
path.display(),
e
)
})
}