use lazy_static::lazy_static;
use std::sync::Mutex;
lazy_static! {
static ref BUFFER_OUTPUT: Mutex<Vec<String>> = Mutex::new(Vec::new());
}
pub fn capture_test<F: FnOnce()>(func: F) -> Vec<String> {
let mut buffer = BUFFER_OUTPUT.lock().unwrap();
buffer.clear();
func();
buffer.clone()
}
pub fn push_to_buffer(msg: String) {
let mut buffer = BUFFER_OUTPUT.lock().unwrap();
buffer.push(msg);
}
pub fn get_buffer_content() -> Vec<String> {
BUFFER_OUTPUT.lock().unwrap().clone()
}