summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-03-27 11:02:38 +0100
committerMatthias Beyer <mail@beyermatthias.de>2022-11-28 17:33:46 +0100
commit00eb7439dbf6e0556089bc0435d7d585411340a1 (patch)
tree55835f71ce7f22361d643ba891b869a425a5b9aa /tests
parentf4c1193ea1f93c7984d23a1366efe41d66fa732d (diff)
Add test for log::Level deserialization
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/log.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/log.rs b/tests/log.rs
new file mode 100644
index 0000000..41ca98b
--- /dev/null
+++ b/tests/log.rs
@@ -0,0 +1,28 @@
+extern crate config;
+extern crate log;
+
+#[macro_use]
+extern crate serde_derive;
+
+use config::*;
+
+#[derive(Debug, Deserialize)]
+struct Settings {
+ log: log::Level,
+}
+
+fn config(s: &str) -> Config {
+ Config::default()
+ .merge(File::from_str(s, FileFormat::Json))
+ .unwrap()
+ .clone()
+}
+
+#[test]
+fn test_load_level_uppercase() {
+ let s = r#"{ "log": "ERROR" }"#;
+ let c = config(s);
+ let l = c.get::<log::Level>("log").unwrap();
+ assert_eq!(l, log::Level::Error);
+}
+