From dd0a56fff0a99aaa21d7411377815cc2136d56b1 Mon Sep 17 00:00:00 2001 From: sven <42868792+FreerGit@users.noreply.github.com> Date: Thu, 5 Sep 2024 22:50:00 +0200 Subject: [PATCH] test: add simple test for file log --- src/lib.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index f190b6d..8c4b6b1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -115,6 +115,7 @@ impl RingBuffer { } } +#[derive(Clone)] pub struct LoggerFileOptions { pub file_path: String, pub append_mode: bool, @@ -208,3 +209,32 @@ impl Logger { } } } + +#[cfg(test)] +mod tests { + use super::*; + use std::fs; + + fn setup() { + fs::File::options() + .read(true) + .write(true) + .create(true) + .open("log.txt") + .unwrap(); + } + + #[test] + fn simple_to_file() { + setup(); + let o = LoggerFileOptions { + file_path: "log.txt".to_owned(), + append_mode: false, + }; + let logger = Logger::new(1024, Some(o.clone())); + logger.log_f(|| "to file".to_owned()); + logger.shutdown(); + let bytes = fs::read(o.file_path).unwrap(); + assert_eq!(String::from_utf8(bytes).unwrap(), "to file\n".to_owned()); + } +}