summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);
+}