mod common;
use common::*;
use tracing_core::{
dispatcher::{self, Dispatch},
subscriber::NoSubscriber,
};
#[test]
fn local_dispatch_before_init() {
dispatcher::get_default(|current| assert!(dbg!(current).is::<NoSubscriber>()));
#[cfg(feature = "std")]
{
dispatcher::with_default(&Dispatch::new(TestSubscriberB), || {
dispatcher::get_default(|current| {
assert!(
dbg!(current).is::<TestSubscriberB>(),
"overriden subscriber not set",
);
})
})
}
dispatcher::get_default(|current| assert!(current.is::<NoSubscriber>()));
dispatcher::set_global_default(Dispatch::new(TestSubscriberA))
.expect("set global dispatch failed");
dispatcher::get_default(|current| {
assert!(
dbg!(current).is::<TestSubscriberA>(),
"default subscriber not set"
);
});
}