From b4984bbf586f82cbd8c6ee8c2050e55401906fbb Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 27 Mar 2021 11:06:31 +0100 Subject: Add testcase for lowercase log::Level deserialization Signed-off-by: Matthias Beyer --- tests/log.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) 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"); + assert!(l.is_ok(), "Expected Ok(_) for {:?}", l); + assert_eq!(l.unwrap(), log::Level::Error); +} -- cgit v1.2.3