#![allow(dead_code)]
use std::{fs, path::PathBuf, time::{SystemTime, UNIX_EPOCH}};
use systemconfiguration::Preferences;
pub fn fixture_dir() -> PathBuf {
let dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("target/test-data");
fs::create_dir_all(&dir).expect("failed to create target/test-data");
dir
}
pub fn unique_prefs_path(name: &str) -> PathBuf {
let nanos = SystemTime::now()
.duration_since(UNIX_EPOCH)
.expect("time went backwards")
.as_nanos();
fixture_dir().join(format!("{name}-{nanos}.plist"))
}
pub fn temporary_preferences(name: &str) -> Preferences {
let path = unique_prefs_path(name);
Preferences::new("systemconfiguration-rs-tests", Some(path.to_string_lossy().as_ref()))
.expect("failed to create temporary preferences")
}