use crate::testing::temp::*;
use std::fs;
use std::io::{Read, Write};
#[test]
fn test_read_write_temp_file() {
crate::init().unwrap();
let temp_file = File::new_file().unwrap();
let test_contents: String = "this is some arbitrary test data".to_owned();
{
let mut file = fs::File::create(temp_file.path()).unwrap();
file.write_all(test_contents.as_bytes()).unwrap();
}
let mut file = fs::File::open(temp_file.path()).unwrap();
let mut read_contents = String::new();
file.read_to_string(&mut read_contents).unwrap();
assert_eq!(test_contents, read_contents);
}
#[test]
fn test_new_file_in_subdirectory() {
crate::init().unwrap();
let dir = Dir::new("bdrck").unwrap();
let file = File::new_file_at(dir.sub_path("foo/bar/file.txt").unwrap()).unwrap();
assert!(file.path().exists());
}
#[test]
fn test_new_symlink_in_subdirectory() {
crate::init().unwrap();
let dir = Dir::new("bdrck").unwrap();
let file = File::new_file_at(dir.sub_path("foo/bar/file.txt").unwrap()).unwrap();
let symlink =
File::new_symlink_at(file.path(), dir.sub_path("bar/baz/symlink.txt").unwrap()).unwrap();
assert!(symlink.path().exists());
}