use asar_rust::path_validation::ensure_within;
#[test]
fn test_path_within_container() {
let dir = std::env::temp_dir();
let result = ensure_within(&dir, "subdir/file.txt");
assert!(result.is_ok());
}
#[test]
fn test_path_equals_container() {
let dir = std::env::temp_dir();
let result = ensure_within(&dir, ".");
assert!(result.is_ok());
}
#[test]
fn test_path_escape_with_dotdot() {
let tmp = std::env::temp_dir();
let container = tmp.join("asar-test-container");
let outside = tmp.join("asar-test-outside");
std::fs::create_dir_all(&container).unwrap();
std::fs::create_dir_all(&outside).unwrap();
let result = ensure_within(&container, "../asar-test-outside/somefile");
assert!(result.is_err());
std::fs::remove_dir_all(&container).unwrap();
std::fs::remove_dir_all(&outside).unwrap();
}