use consola::*;
#[allow(unused)]
fn render_basic<F: FnOnce(&mut FancyLogger)>(f: F) -> String {
let mut logger = FancyLogger::new(FancyReporter {
opts: FormatOptions {
unicode: true,
..FormatOptions::default()
},
});
logger.opts_mut().date = false; f(&mut logger);
String::new()
}
#[test]
fn fancy_icon_ascii_fallback() {
let reporter = FancyReporter {
opts: FormatOptions {
unicode: false,
date: false,
..FormatOptions::default()
},
};
let mut logger = FancyLogger::new(reporter);
logger.log("info", None, ["hello"]);
logger.flush();
}
#[test]
fn fancy_error_chain_depth_limit() {
use anyhow::anyhow;
let err = anyhow!("root cause").context("intermediate").context("top");
let mut record = LogRecord::new("error", None, vec!["processing failed".into()]);
let err_ref: &(dyn std::error::Error + 'static) = err.as_ref();
record = record.attach_dyn_error(err_ref);
assert!(record.error_chain.as_ref().unwrap().len() >= 3);
}