Files
zoeae/src/file.rs
T
Stevan Freeborn 1704441315 feat: wire up keybinds
- added keybinds for existing file actions
- added keybinds to support zooming
2026-01-10 08:02:21 -06:00

56 lines
1.3 KiB
Rust

use std::{
fs::{read_to_string, write},
path::PathBuf,
};
pub fn save_file_to_disk(path: PathBuf, text: String) {
let save_result = write(path, text);
match save_result {
Ok(_) => {},
Err(err) => eprintln!("Error: {}", err),
}
}
pub fn load_file_from_disk(path: PathBuf) -> String {
let read_result = read_to_string(path);
match read_result {
Ok(contents) => contents,
Err(_) => String::new(),
}
}
#[cfg(test)]
mod tests {
use super::*;
use std::fs::{self, remove_file};
#[test]
fn test_save_file_to_disk() {
let test_path = PathBuf::from("test_file.txt");
let test_content = String::from("Hello, Chat!");
save_file_to_disk(test_path.clone(), test_content.clone());
let saved_content = fs::read_to_string(&test_path).unwrap();
assert_eq!(saved_content, test_content);
let _ = remove_file(test_path);
}
#[test]
fn test_load_file_from_disk() {
let test_path = PathBuf::from("test_file.txt");
let test_content = String::from("Hello, Chat!");
let _ = fs::write(test_path.clone(), test_content.clone());
let saved_content = load_file_from_disk(test_path.clone());
assert_eq!(saved_content, test_content);
let _ = remove_file(test_path);
}
}