diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-03-27 11:06:31 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2022-11-28 17:33:47 +0100 |
commit | b4984bbf586f82cbd8c6ee8c2050e55401906fbb (patch) | |
tree | 57212ff55fe4d546d5f57a81befd5db5eeb8bfba /tests | |
parent | 00eb7439dbf6e0556089bc0435d7d585411340a1 (diff) |
Add testcase for lowercase log::Level deserialization
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/log.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/log.rs b/tests/log.rs index 41ca98b..5f18bd7 100644 --- a/tests/log.rs +++ b/tests/log.rs @@ -3,6 +3,7 @@ extern crate log; #[macro_use] extern crate serde_derive; +extern crate serde_json; use config::*; @@ -26,3 +27,26 @@ fn test_load_level_uppercase() { assert_eq!(l, log::Level::Error); } +#[test] +fn test_load_level_lowercase() { + // to verify that this works + { + use std::str::FromStr; + let l = log::Level::from_str("error").unwrap(); + assert_eq!(l, log::Level::Error); + } + + let s = r#"{ "log": "error" }"#; + + // to confirm serde_json works as expected + { + let j: Settings = serde_json::from_str(s).unwrap(); + assert_eq!(j.log, log::Level::Error); + } + + let c = config(s); + assert_eq!(c.get_str("log").unwrap(), "error"); + let l = c.get::<log::Level>("log"); + assert!(l.is_ok(), "Expected Ok(_) for {:?}", l); + assert_eq!(l.unwrap(), log::Level::Error); +} |