|
| 1 | +#![cfg(feature = "registry")] |
| 2 | +use tracing::level_filters::LevelFilter; |
| 3 | +use tracing::Collect; |
| 4 | +use tracing_subscriber::prelude::*; |
| 5 | + |
| 6 | +// This test is just used to compare to the tests below |
| 7 | +#[test] |
| 8 | +fn just_subscriber() { |
| 9 | + let collector = tracing_subscriber::registry().with(LevelFilter::INFO); |
| 10 | + assert_eq!(collector.max_level_hint(), Some(LevelFilter::INFO)); |
| 11 | +} |
| 12 | + |
| 13 | +#[test] |
| 14 | +fn subscriber_and_option_some_subscriber() { |
| 15 | + let collector = tracing_subscriber::registry() |
| 16 | + .with(LevelFilter::INFO) |
| 17 | + .with(Some(LevelFilter::DEBUG)); |
| 18 | + assert_eq!(collector.max_level_hint(), Some(LevelFilter::DEBUG)); |
| 19 | +} |
| 20 | + |
| 21 | +#[test] |
| 22 | +fn subscriber_and_option_none_subscriber() { |
| 23 | + // None means the other layer takes control |
| 24 | + let collector = tracing_subscriber::registry() |
| 25 | + .with(LevelFilter::ERROR) |
| 26 | + .with(None::<LevelFilter>); |
| 27 | + assert_eq!(collector.max_level_hint(), Some(LevelFilter::ERROR)); |
| 28 | +} |
| 29 | + |
| 30 | +#[test] |
| 31 | +fn just_option_some_subscriber() { |
| 32 | + // Just a None means everything is off |
| 33 | + let collector = tracing_subscriber::registry().with(None::<LevelFilter>); |
| 34 | + assert_eq!(collector.max_level_hint(), Some(LevelFilter::OFF)); |
| 35 | +} |
| 36 | + |
| 37 | +#[test] |
| 38 | +fn just_option_none_subscriber() { |
| 39 | + let collector = tracing_subscriber::registry().with(Some(LevelFilter::ERROR)); |
| 40 | + assert_eq!(collector.max_level_hint(), Some(LevelFilter::ERROR)); |
| 41 | +} |
0 commit comments