summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-03-27 11:06:31 +0100
committerMatthias Beyer <mail@beyermatthias.de>2022-11-28 17:33:47 +0100
commitb4984bbf586f82cbd8c6ee8c2050e55401906fbb (patch)
tree57212ff55fe4d546d5f57a81befd5db5eeb8bfba /tests
parent00eb7439dbf6e0556089bc0435d7d585411340a1 (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.rs24
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);
+}